github.com/Oyster-zx/tendermint@v0.34.24-fork/crypto/tmhash/hash_test.go (about) 1 package tmhash_test 2 3 import ( 4 "crypto/sha256" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 10 "github.com/tendermint/tendermint/crypto/tmhash" 11 ) 12 13 func TestHash(t *testing.T) { 14 testVector := []byte("abc") 15 hasher := tmhash.New() 16 _, err := hasher.Write(testVector) 17 require.NoError(t, err) 18 bz := hasher.Sum(nil) 19 20 bz2 := tmhash.Sum(testVector) 21 22 hasher = sha256.New() 23 _, err = hasher.Write(testVector) 24 require.NoError(t, err) 25 bz3 := hasher.Sum(nil) 26 27 assert.Equal(t, bz, bz2) 28 assert.Equal(t, bz, bz3) 29 } 30 31 func TestHashTruncated(t *testing.T) { 32 testVector := []byte("abc") 33 hasher := tmhash.NewTruncated() 34 _, err := hasher.Write(testVector) 35 require.NoError(t, err) 36 bz := hasher.Sum(nil) 37 38 bz2 := tmhash.SumTruncated(testVector) 39 40 hasher = sha256.New() 41 _, err = hasher.Write(testVector) 42 require.NoError(t, err) 43 bz3 := hasher.Sum(nil) 44 bz3 = bz3[:tmhash.TruncatedSize] 45 46 assert.Equal(t, bz, bz2) 47 assert.Equal(t, bz, bz3) 48 }