github.com/vipernet-xyz/tm@v0.34.24/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/vipernet-xyz/tm/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  }