diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2025-06-13 11:29:29 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2025-06-13 11:29:29 +0000 |
| commit | 04891bbcaac75e887d57844548b61141cb6ebc07 (patch) | |
| tree | 9be7b87519c95ab1bd1d03895042b67e79b127a0 /src/merkle/mod.rs | |
Init
Diffstat (limited to 'src/merkle/mod.rs')
| -rw-r--r-- | src/merkle/mod.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/merkle/mod.rs b/src/merkle/mod.rs new file mode 100644 index 0000000..b6da2f9 --- /dev/null +++ b/src/merkle/mod.rs @@ -0,0 +1,35 @@ +mod merkletree; +mod node; + +#[cfg(test)] +mod tests { + use crate::hasher::DefaultHasher; + + use super::*; + + #[test] + fn test_merkle_tree_hashing() { + let data = vec!["a", "b", "c", "d"]; + let tree = merkletree::MerkleTree::new(&DefaultHasher, data); + + assert_eq!(tree.height(), 3); + + assert_eq!( + tree.root().hash(), + "58c89d709329eb37285837b042ab6ff72c7c8f74de0446b091b6a0131c102cfd" + ); + } + + #[test] + fn test_merkle_tree_single_leaf() { + let data = vec!["hello"]; + let tree = merkletree::MerkleTree::new(&DefaultHasher, data); + + assert_eq!(tree.height(), 2); + assert_eq!(tree.len(), 2); + assert_eq!( + tree.root().hash(), + "286d189fda11bf4e906b6973a173009f47ede16532f1bae726223f8ee155d73b" + ); + } +} |
