use bubbletree::BubbleTree; #[test] pub fn example_usage() { // Configure the tree let fanout = 4; let compression_factor = 3; let mut tree = BubbleTree::new(fanout, compression_factor).expect("Failed to create tree"); // Insert points let a = tree.insert([0.0, 0.0]); let b = tree.insert([1.0, 1.0]); let c = tree.insert([2.0, 2.0]); let d = tree.insert([10.0, 10.0]); let e = tree.insert([11.0, 11.0]); let f = tree.insert([12.0, 12.0]); // Confirm that the tree should have 2 leaves: assert_eq!(tree.num_leaves, 2); // 6 pts compressed into 2 groups (or data bubbles) // a, b, c should be in the same group assert!(tree.parent_of(a) == tree.parent_of(b)); assert!(tree.parent_of(b) == tree.parent_of(c)); assert_ne!(tree.parent_of(a), tree.parent_of(d)); // d, e, f should be in the same group assert!(tree.parent_of(d) == tree.parent_of(e)); assert!(tree.parent_of(e) == tree.parent_of(f)); }