diff --git a/crates/datastructures/src/btree.rs b/crates/datastructures/src/btree.rs index cfae31c..82cfb96 100644 --- a/crates/datastructures/src/btree.rs +++ b/crates/datastructures/src/btree.rs @@ -153,7 +153,7 @@ mod test { } #[test] - fn test_insert() { + fn test_insert_easy() { let mut tree = BTree::::new(DEFAULT_DEGREE); let data = &[19, 125, 25, 16, 2, 73, 384, 435, 12924, 42, 125251, 2548]; @@ -165,4 +165,25 @@ mod test { assert!(tree.has(*d)) } } + + #[test] + fn test_insert_many() { + let mut tree = BTree::::new(DEFAULT_DEGREE); + let mut data = vec![19, 125, 25, 16, 2, 73, 384, 435, 12924, 42, 125251, 2548]; + + for _ in 0..10 { + data.extend(data.clone()); + } + + // data has 12288 elements here! This is a lot, but should be reasonably possible for a btree. + println!("len of data: {}", data.len()); + + for d in &data { + tree.insert(*d) + } + + for d in &data { + assert!(tree.has(*d)) + } + } }