Skip to content

Commit d07f490

Browse files
committed
tests now assert
1 parent ccb860f commit d07f490

File tree

1 file changed

+34
-6
lines changed

1 file changed

+34
-6
lines changed

tests/book_table_collection.rs

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ mod node_metadata {
232232
}
233233

234234
mod node_metadata_clone {
235-
#[derive(Clone, serde::Serialize, serde::Deserialize)]
235+
#[derive(Debug, Eq, PartialEq, Clone, serde::Serialize, serde::Deserialize)]
236236
pub struct NodeMetadata {
237237
pub value: i32,
238238
}
@@ -310,9 +310,8 @@ fn test_adding_node_table_row_with_defaults_and_metadata_requiring_clone() {
310310
};
311311
// ANCHOR_END: node_defaults_with_some_metadata_default
312312

313-
// We can scoop all non-metadata fields even though
314-
// type is not Copy/Clone
315-
let _ = tables
313+
// ANCHOR: node_defaults_with_some_metadata_default_add_first_row
314+
let n0 = tables
316315
.add_node_with_defaults(
317316
0.0,
318317
&DefaultsWithMetadata {
@@ -321,11 +320,21 @@ fn test_adding_node_table_row_with_defaults_and_metadata_requiring_clone() {
321320
},
322321
)
323322
.unwrap();
323+
// ANCHOR_END: node_defaults_with_some_metadata_default_add_first_row
324+
assert_eq!(
325+
tables
326+
.nodes()
327+
.metadata::<NodeMetadata>(n0)
328+
.unwrap()
329+
.unwrap(),
330+
NodeMetadata { value: 2 * 42 }
331+
);
324332

325333
// But now, we start to cause a problem:
326334
// If we don't clone here, our metadata type moves,
327335
// so our defaults are moved.
328-
let _ = tables
336+
// ANCHOR: node_defaults_with_some_metadata_default_add_second_row
337+
let n1 = tables
329338
.add_node_with_defaults(
330339
0.0,
331340
&DefaultsWithMetadata {
@@ -334,10 +343,20 @@ fn test_adding_node_table_row_with_defaults_and_metadata_requiring_clone() {
334343
},
335344
)
336345
.unwrap();
346+
// ANCHOR_END: node_defaults_with_some_metadata_default_add_second_row
347+
assert_eq!(
348+
tables
349+
.nodes()
350+
.metadata::<NodeMetadata>(n1)
351+
.unwrap()
352+
.unwrap(),
353+
NodeMetadata { value: 42 }
354+
);
337355

338356
// Now, we have a use-after-move error
339357
// if we hadn't cloned in the last step.
340-
let _ = tables
358+
// ANCHOR: node_defaults_with_some_metadata_default_add_third_row
359+
let n2 = tables
341360
.add_node_with_defaults(
342361
0.0,
343362
&DefaultsWithMetadata {
@@ -346,4 +365,13 @@ fn test_adding_node_table_row_with_defaults_and_metadata_requiring_clone() {
346365
},
347366
)
348367
.unwrap();
368+
// ANCHOR_END: node_defaults_with_some_metadata_default_add_third_row
369+
assert_eq!(
370+
tables
371+
.nodes()
372+
.metadata::<NodeMetadata>(n2)
373+
.unwrap()
374+
.unwrap(),
375+
NodeMetadata { value: 42 }
376+
);
349377
}

0 commit comments

Comments
 (0)