mirror of
https://github.com/Qortal/pirate-librustzcash.git
synced 2025-07-30 20:11:23 +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);
|
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! {
|
quickcheck! {
|
||||||
fn there_and_back(number: u32) -> TestResult {
|
fn there_and_back(number: u32) -> TestResult {
|
||||||
|
Reference in New Issue
Block a user