github.com/tendermint/tmlibs@v0.9.0/merkle/simple_map_test.go (about)

     1  package merkle
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  type strHasher string
    11  
    12  func (str strHasher) Hash() []byte {
    13  	return SimpleHashFromBytes([]byte(str))
    14  }
    15  
    16  func TestSimpleMap(t *testing.T) {
    17  	{
    18  		db := NewSimpleMap()
    19  		db.Set("key1", strHasher("value1"))
    20  		assert.Equal(t, "3dafc06a52039d029be57c75c9d16356a4256ef4", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    21  	}
    22  	{
    23  		db := NewSimpleMap()
    24  		db.Set("key1", strHasher("value2"))
    25  		assert.Equal(t, "03eb5cfdff646bc4e80fec844e72fd248a1c6b2c", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    26  	}
    27  	{
    28  		db := NewSimpleMap()
    29  		db.Set("key1", strHasher("value1"))
    30  		db.Set("key2", strHasher("value2"))
    31  		assert.Equal(t, "acc3971eab8513171cc90ce8b74f368c38f9657d", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    32  	}
    33  	{
    34  		db := NewSimpleMap()
    35  		db.Set("key2", strHasher("value2")) // NOTE: out of order
    36  		db.Set("key1", strHasher("value1"))
    37  		assert.Equal(t, "acc3971eab8513171cc90ce8b74f368c38f9657d", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    38  	}
    39  	{
    40  		db := NewSimpleMap()
    41  		db.Set("key1", strHasher("value1"))
    42  		db.Set("key2", strHasher("value2"))
    43  		db.Set("key3", strHasher("value3"))
    44  		assert.Equal(t, "0cd117ad14e6cd22edcd9aa0d84d7063b54b862f", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    45  	}
    46  	{
    47  		db := NewSimpleMap()
    48  		db.Set("key2", strHasher("value2")) // NOTE: out of order
    49  		db.Set("key1", strHasher("value1"))
    50  		db.Set("key3", strHasher("value3"))
    51  		assert.Equal(t, "0cd117ad14e6cd22edcd9aa0d84d7063b54b862f", fmt.Sprintf("%x", db.Hash()), "Hash didn't match")
    52  	}
    53  }