Update tests.

This commit is contained in:
Romain Ruetschi
2016-11-11 15:11:33 +01:00
parent de4a0a1572
commit ac47293cdf

View File

@ -1,28 +1,53 @@
#![cfg(test)]
mod tests {
use crypto::sha3::Sha3;
use crypto::sha3::Sha3;
use MerkleTree;
use MerkleDigest;
use Hashable;
use MerkleTree;
use MerkleDigest;
use Hashable;
#[test]
#[should_panic]
fn test_from_vec_empty() {
let digest = Sha3::sha3_256();
let values: Vec<u8> = vec![];
#[test]
fn test_from_vec3() {
let mut digest = Sha3::sha3_256();
MerkleTree::from_vec(digest, values);
}
let values = vec![1, 2, 3];
let hashes = vec![
digest.hash_bytes(&1.to_bytes()),
digest.hash_bytes(&2.to_bytes()),
digest.hash_bytes(&3.to_bytes())
];
#[test]
fn test_from_vec1() {
let digest = Sha3::sha3_256();
let values = vec!["hello, world".to_string()];
let tree = MerkleTree::from_vec(digest, values);
let mut d = Sha3::sha3_256();
let root_hash = &d.hash_bytes(&"hello, world".to_string().to_bytes());
assert_eq!(tree.count, 1);
assert_eq!(tree.height, 1);
assert_eq!(tree.root_hash().as_slice(), root_hash.as_slice());
}
#[test]
fn test_from_vec3() {
let digest = Sha3::sha3_256();
let values = vec![1, 2, 3];
let tree = MerkleTree::from_vec(digest, values);
let mut d = Sha3::sha3_256();
let hashes = vec![
d.hash_bytes(&1.to_bytes()),
d.hash_bytes(&2.to_bytes()),
d.hash_bytes(&3.to_bytes())
];
let h01 = &d.combine_hashes(&hashes[0], &hashes[1]);
let h2 = &hashes[2];
let root_hash = &d.combine_hashes(h01, h2);
@ -30,20 +55,21 @@ mod tests {
assert_eq!(tree.count, 3);
assert_eq!(tree.height, 2);
assert_eq!(tree.root_hash().as_slice(), root_hash.as_slice());
}
}
#[test]
fn test_from_vec9() {
let mut digest = Sha3::sha3_256();
#[test]
fn test_from_vec9() {
let digest = Sha3::sha3_256();
let values = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
let hashes = values.clone().iter().map(|v| digest.hash_bytes(&v.to_bytes())).collect::<Vec<_>>();
let count = values.len();
let tree = MerkleTree::from_vec(digest, values);
let tree = MerkleTree::from_vec(digest, values.clone());
let mut d = Sha3::sha3_256();
let hashes = values.iter().map(|v| d.hash_bytes(&v.to_bytes())).collect::<Vec<_>>();
let h01 = &d.combine_hashes(&hashes[0], &hashes[1]);
let h23 = &d.combine_hashes(&hashes[2], &hashes[3]);
let h45 = &d.combine_hashes(&hashes[4], &hashes[5]);
@ -58,7 +84,5 @@ mod tests {
assert_eq!(tree.count, count);
assert_eq!(tree.height, 4);
assert_eq!(tree.root_hash().as_slice(), root_hash.as_slice());
}
}