|
|
- package cryptostore
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-
- cmn "github.com/tendermint/tmlibs/common"
-
- crypto "github.com/tendermint/go-crypto"
- keys "github.com/tendermint/go-crypto/keys"
- )
-
- func TestSortKeys(t *testing.T) {
- assert := assert.New(t)
-
- gen := func() crypto.PrivKey { return GenEd25519.Generate(cmn.RandBytes(16)) }
- assert.NotEqual(gen(), gen())
-
- // alphabetical order is n3, n1, n2
- n1, n2, n3 := "john", "mike", "alice"
- infos := keys.Infos{
- info(n1, gen()),
- info(n2, gen()),
- info(n3, gen()),
- }
-
- // make sure they are initialized unsorted
- assert.Equal(n1, infos[0].Name)
- assert.Equal(n2, infos[1].Name)
- assert.Equal(n3, infos[2].Name)
-
- // now they are sorted
- infos.Sort()
- assert.Equal(n3, infos[0].Name)
- assert.Equal(n1, infos[1].Name)
- assert.Equal(n2, infos[2].Name)
-
- // make sure info put some real data there...
- assert.NotEmpty(infos[0].PubKey)
- assert.NotEmpty(infos[0].PubKey.Address())
- assert.NotEmpty(infos[1].PubKey)
- assert.NotEmpty(infos[1].PubKey.Address())
- assert.NotEqual(infos[0].PubKey, infos[1].PubKey)
- }
|