summaryrefslogtreecommitdiffstats
path: root/src/merkle/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/merkle/mod.rs')
-rw-r--r--src/merkle/mod.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/merkle/mod.rs b/src/merkle/mod.rs
index 48f87bc..1fea22f 100644
--- a/src/merkle/mod.rs
+++ b/src/merkle/mod.rs
@@ -1,13 +1,24 @@
-mod merkletree;
-mod node;
+pub mod merkletree;
+pub mod node;
-#[cfg(all(test, feature = "sha256"))]
+#[cfg(test)]
mod tests {
- use crate::hasher::SHA256Hasher;
+ use crate::hasher::*;
use super::*;
#[test]
+ fn test_merkle_tree_with_default_hasher() {
+ let data = vec!["a", "b", "c", "d"];
+ let tree = merkletree::MerkleTree::new(&DefaultHasher, data);
+
+ assert_eq!(tree.height(), 3);
+
+ assert_eq!(tree.root().hash(), "0xc0ff3");
+ }
+
+ #[test]
+ #[cfg(feature = "sha256")]
fn test_merkle_tree_hashing() {
let data = vec!["a", "b", "c", "d"];
let tree = merkletree::MerkleTree::new(&SHA256Hasher, data);
@@ -21,6 +32,7 @@ mod tests {
}
#[test]
+ #[cfg(feature = "sha256")]
fn test_merkle_tree_single_leaf() {
let data = vec!["hello"];
let tree = merkletree::MerkleTree::new(&SHA256Hasher, data);