mirror of
https://github.com/voltrevo/ValueScript.git
synced 2026-01-10 05:58:03 -05:00
Add tests and fix edge case
This commit is contained in:
@@ -115,8 +115,18 @@ mod tests {
|
||||
tree.push(i);
|
||||
}
|
||||
|
||||
tree.truncate(50);
|
||||
assert_eq!(tree.len(), 100);
|
||||
|
||||
tree.truncate(100);
|
||||
assert_eq!(tree.len(), 100);
|
||||
|
||||
tree.truncate(101);
|
||||
assert_eq!(tree.len(), 100);
|
||||
|
||||
tree.truncate(1000);
|
||||
assert_eq!(tree.len(), 100);
|
||||
|
||||
tree.truncate(50);
|
||||
assert_eq!(tree.len(), 50);
|
||||
assert_eq!(tree.depth(), 3);
|
||||
|
||||
@@ -125,7 +135,6 @@ mod tests {
|
||||
}
|
||||
|
||||
tree.truncate(1);
|
||||
|
||||
assert_eq!(tree.len(), 1);
|
||||
assert_eq!(tree.depth(), 1);
|
||||
}
|
||||
|
||||
@@ -193,6 +193,10 @@ impl<T: Clone, const N: usize> RadixTree<T, N> {
|
||||
for p in path {
|
||||
match tree.data_mut() {
|
||||
RadixTreeData::Meta(meta) => {
|
||||
if meta.len() <= p {
|
||||
break;
|
||||
}
|
||||
|
||||
meta.truncate(p + 1);
|
||||
tree = &mut meta[p];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user