diff --git a/src/rstd/collections/tree.rs b/src/rstd/collections/tree.rs index 30e7d4e..0608244 100644 --- a/src/rstd/collections/tree.rs +++ b/src/rstd/collections/tree.rs @@ -245,7 +245,7 @@ mod tests { testing::TestContextPlain, }; - use super::context::*; + use super::{context::*, *}; type Trees = TreeContext2< 'static, @@ -259,6 +259,20 @@ mod tests { Trees::new((DefaultComparator.into(), u64::f())) } + fn singular_node( + trees: &BalancedTrees, + ) -> Node<'static, TestContextPlain, AtomicObject> { + trees + .try_join(trees.empty(), 0.into(), trees.empty()) + .unwrap() + } + + fn singular_tree( + trees: &BalancedTrees, + ) -> Tree<'static, TestContextPlain, AtomicObject> { + trees.tree_of(singular_node(trees)).unwrap() + } + #[test] fn empty_has_height_0() { let trees = new_trees(); @@ -275,16 +289,19 @@ mod tests { #[test] fn one_has_height_1() { let trees = BalancedTrees::new(new_trees()); - let tree = trees.empty(); - let tree = trees.clone().add_tree(tree, 0.into()).unwrap(); - assert_eq!(trees.height(&tree), 1); + assert_eq!(trees.height(&singular_tree(&trees)), 1); } #[test] fn can_refer_to_singular() { let trees = BalancedTrees::new(new_trees()); - let tree = trees.empty(); - let tree = trees.clone().add_tree(tree, 0.into()).unwrap(); - assert!(trees.refer(&tree).is_some()); + assert!(trees.refer(&singular_tree(&trees)).is_some()); + } + + #[test] + fn reference_equal_to_itself() { + let trees = BalancedTrees::new(new_trees()); + let reference = trees.refer(&singular_tree(&trees)).unwrap(); + assert!(trees.equal(&reference, &reference)); } }