Skip to content

Commit

Permalink
Add UT
Browse files Browse the repository at this point in the history
  • Loading branch information
goran-ethernal committed May 15, 2023
1 parent 6c86c1d commit 4940574
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions merkle-tree/merkle_tree_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,22 @@ func TestMerkleTree_VerifyProof_TreeWithOneNode(t *testing.T) {
// empty leaf
require.ErrorContains(t, VerifyProof(11, []byte{}, proof, tree.Hash()), "empty leaf")
}

func TestMerkleTree_WithOneLeaf_AndOneEmptyLeaf(t *testing.T) {
t.Parallel()

leafData := []byte{1}
treeData := [][]byte{leafData, {}} // with one empty leaf

tree, err := NewMerkleTree(treeData)
require.NoError(t, err)

proof, err := tree.GenerateProof(leafData)
require.NoError(t, err)
require.NotEmpty(t, proof)

index, err := tree.LeafIndex(leafData)
require.NoError(t, err)
require.Equal(t, uint64(0), index) // should be 0
require.NoError(t, VerifyProof(index, leafData, proof, tree.Hash()))
}

0 comments on commit 4940574

Please sign in to comment.