github.com/Finschia/finschia-sdk@v0.48.1/x/mint/simulation/decoder_test.go (about) 1 package simulation_test 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/Finschia/finschia-sdk/simapp" 10 sdk "github.com/Finschia/finschia-sdk/types" 11 "github.com/Finschia/finschia-sdk/types/kv" 12 "github.com/Finschia/finschia-sdk/x/mint/simulation" 13 "github.com/Finschia/finschia-sdk/x/mint/types" 14 ) 15 16 func TestDecodeStore(t *testing.T) { 17 cdc := simapp.MakeTestEncodingConfig().Marshaler 18 dec := simulation.NewDecodeStore(cdc) 19 20 minter := types.NewMinter(sdk.OneDec(), sdk.NewDec(15)) 21 22 kvPairs := kv.Pairs{ 23 Pairs: []kv.Pair{ 24 {Key: types.MinterKey, Value: cdc.MustMarshal(&minter)}, 25 {Key: []byte{0x99}, Value: []byte{0x99}}, 26 }, 27 } 28 tests := []struct { 29 name string 30 expectedLog string 31 }{ 32 {"Minter", fmt.Sprintf("%v\n%v", minter, minter)}, 33 {"other", ""}, 34 } 35 36 for i, tt := range tests { 37 i, tt := i, tt 38 t.Run(tt.name, func(t *testing.T) { 39 switch i { 40 case len(tests) - 1: 41 require.Panics(t, func() { dec(kvPairs.Pairs[i], kvPairs.Pairs[i]) }, tt.name) 42 default: 43 require.Equal(t, tt.expectedLog, dec(kvPairs.Pairs[i], kvPairs.Pairs[i]), tt.name) 44 } 45 }) 46 } 47 }