mirror of
https://github.com/Qortal/pirate-librustzcash.git
synced 2025-07-30 03:51:22 +00:00
extra long truncate
This commit is contained in:
18
src/tree.rs
18
src/tree.rs
@@ -603,6 +603,24 @@ mod tests {
|
||||
assert_eq!(tree.len(), 4);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn tree_len_long() {
|
||||
let (mut root, mut tree) = initial();
|
||||
|
||||
assert_eq!(tree.len(), 3);
|
||||
|
||||
for i in 0..4094 {
|
||||
root = tree.append_leaf(root, leaf(i+3)).new_root;
|
||||
}
|
||||
assert_eq!(tree.len(), 8191); // 4096*2-1 (full tree)
|
||||
|
||||
for _ in 0..2049 {
|
||||
root = tree.truncate_leaf(root).new_root;
|
||||
}
|
||||
|
||||
assert_eq!(tree.len(), 4083); // 4095 - log2(4096)
|
||||
}
|
||||
|
||||
|
||||
quickcheck! {
|
||||
fn there_and_back(number: u32) -> TestResult {
|
||||
|
Reference in New Issue
Block a user