diff --git a/test/merkle_tree_test.exs b/test/merkle_tree_test.exs index 7760606..7da89c2 100644 --- a/test/merkle_tree_test.exs +++ b/test/merkle_tree_test.exs @@ -31,4 +31,30 @@ defmodule MerkleTreeTest do assert MerkleTree.new(blocks).root == MerkleTree.new(blocks |> Enum.map(&MerkleTree.Crypto.sha256/1), hash_leaf: false).root end + + test "default hash function sha256" do + blocks = ['a', 'a', 'a', 'a'] + assert MerkleTree.new(blocks, &MerkleTree.Crypto.sha256/1) == MerkleTree.new(blocks) + end + + test "merkle tree node" do + hash = &MerkleTree.Crypto.sha256/1 + + assert MerkleTree.build(['a', 'b'], &MerkleTree.Crypto.sha256/1) == %MerkleTree.Node{ + children: [ + %MerkleTree.Node{ + children: [], + height: 0, + value: hash.('a') + }, + %MerkleTree.Node{ + children: [], + height: 0, + value: hash.('b') + } + ], + height: 1, + value: hash.(hash.('a') <> hash.('b')) + } + end end