prysm-pulse/shared/hashutil/merkleRoot_test.go

28 lines
623 B
Go
Raw Normal View History

package hashutil_test
import (
"testing"
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
)
func TestMerkleRoot(t *testing.T) {
valueSet := [][]byte{
{'a'},
{'b'},
{'c'},
{'d'},
}
hashedV1 := []byte{'a'}
hashedV2 := []byte{'b'}
hashedV3 := []byte{'c'}
hashedV4 := []byte{'d'}
2018-12-30 03:03:36 +00:00
leftNode := hashutil.Hash(append(hashedV1[:], hashedV2[:]...))
rightNode := hashutil.Hash(append(hashedV3[:], hashedV4[:]...))
expectedRoot := hashutil.Hash(append(leftNode[:], rightNode[:]...))
assert.DeepEqual(t, expectedRoot[:], hashutil.MerkleRoot(valueSet))
}