github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/types/keys_test.go (about) 1 package types 2 3 import ( 4 "encoding/hex" 5 "testing" 6 7 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto/ed25519" 8 9 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 var ( 14 FixPK = ed25519.GenPrivKeyFromSecret([]byte{1}).PubKey() 15 FixAddr = FixPK.Address() 16 ) 17 18 func TestGetValidatorPowerRank(t *testing.T) { 19 valAddr1 := sdk.ValAddress(FixAddr) 20 emptyDesc := Description{} 21 val1 := NewValidator(valAddr1, pk1, emptyDesc, DefaultMinSelfDelegation) 22 val1.DelegatorShares = sdk.ZeroDec() 23 val2, val3, val4 := val1, val1, val1 24 val2.DelegatorShares = sdk.OneDec() 25 val3.DelegatorShares = sdk.OneDec().MulInt64(10) 26 val4.DelegatorShares = sdk.OneDec().MulInt64(1 << 16) 27 28 tests := []struct { 29 validator Validator 30 wantHex string 31 }{ 32 {val1, "2300000000000000009c288ede7df62742fc3b7d0962045a8cef0f79f6"}, 33 {val2, "2300000000000000019c288ede7df62742fc3b7d0962045a8cef0f79f6"}, 34 {val3, "23000000000000000a9c288ede7df62742fc3b7d0962045a8cef0f79f6"}, 35 {val4, "2300000000000100009c288ede7df62742fc3b7d0962045a8cef0f79f6"}, 36 } 37 for i, tt := range tests { 38 got := hex.EncodeToString(getValidatorPowerRank(tt.validator)) 39 40 assert.Equal(t, tt.wantHex, got, "Keys did not match on test case %d", i) 41 } 42 }