github.com/cosmos/cosmos-sdk@v0.50.10/x/group/simulation/genesis_test.go (about) 1 package simulation_test 2 3 import ( 4 "encoding/json" 5 "math/rand" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 10 sdkmath "cosmossdk.io/math" 11 12 "github.com/cosmos/cosmos-sdk/types/module" 13 moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" 14 simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 15 "github.com/cosmos/cosmos-sdk/x/bank" 16 "github.com/cosmos/cosmos-sdk/x/group" 17 groupmodule "github.com/cosmos/cosmos-sdk/x/group/module" 18 "github.com/cosmos/cosmos-sdk/x/group/simulation" 19 ) 20 21 func TestRandomizedGenState(t *testing.T) { 22 encodingConfig := moduletestutil.MakeTestEncodingConfig(groupmodule.AppModuleBasic{}, bank.AppModuleBasic{}) 23 cdc := encodingConfig.Codec 24 25 s := rand.NewSource(1) 26 r := rand.New(s) 27 28 simState := module.SimulationState{ 29 AppParams: make(simtypes.AppParams), 30 Cdc: cdc, 31 Rand: r, 32 NumBonded: 3, 33 Accounts: simtypes.RandomAccounts(r, 3), 34 InitialStake: sdkmath.NewInt(1000), 35 GenState: make(map[string]json.RawMessage), 36 } 37 38 simulation.RandomizedGenState(&simState) 39 var groupGenesis group.GenesisState 40 simState.Cdc.MustUnmarshalJSON(simState.GenState[group.ModuleName], &groupGenesis) 41 42 require.Equal(t, int(groupGenesis.GroupSeq), len(simState.Accounts)) 43 require.Len(t, groupGenesis.Groups, len(simState.Accounts)) 44 require.Len(t, groupGenesis.GroupMembers, len(simState.Accounts)) 45 require.Equal(t, int(groupGenesis.GroupPolicySeq), len(simState.Accounts)) 46 require.Len(t, groupGenesis.GroupPolicies, len(simState.Accounts)) 47 require.Equal(t, int(groupGenesis.ProposalSeq), len(simState.Accounts)) 48 require.Len(t, groupGenesis.Proposals, len(simState.Accounts)) 49 require.Len(t, groupGenesis.Votes, len(simState.Accounts)) 50 }