github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/keeper/shares_test.go (about) 1 package keeper 2 3 import ( 4 "testing" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 "github.com/fibonacci-chain/fbc/x/staking/types" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestAddShares(t *testing.T) { 12 ctx, _, keeper := CreateTestInput(t, false, 0) 13 14 shares := []sdk.Dec{ 15 sdk.OneDec(), 16 sdk.OneDec(), 17 sdk.OneDec().MulInt64(100), 18 } 19 20 keeper.Keeper.SetShares(ctx, addrDels[0], addrVals[0], shares[0]) 21 keeper.Keeper.SetShares(ctx, addrDels[1], addrVals[0], shares[1]) 22 keeper.Keeper.SetShares(ctx, addrDels[2], addrVals[0], shares[2]) 23 24 var sharesExportedSlice []types.SharesExported 25 keeper.IterateShares(ctx, 26 func(_ int64, delAddr sdk.AccAddress, valAddr sdk.ValAddress, shares types.Shares) (stop bool) { 27 sharesExportedSlice = append(sharesExportedSlice, types.NewSharesExported(delAddr, valAddr, shares)) 28 return false 29 }) 30 31 require.True(t, len(sharesExportedSlice) == 3) 32 33 shares1, found := keeper.GetShares(ctx, addrDels[0], addrVals[0]) 34 require.True(t, found) 35 require.True(t, shares1.Equal(sdk.OneDec())) 36 37 shares2, found := keeper.GetShares(ctx, addrDels[0], addrVals[2]) 38 require.False(t, found) 39 require.True(t, shares2.IsNil()) 40 41 keeper.DeleteShares(ctx, addrVals[0], addrDels[0]) 42 keeper.DeleteShares(ctx, addrVals[1], addrDels[0]) 43 _, found = keeper.GetShares(ctx, addrDels[0], addrVals[0]) 44 require.False(t, found) 45 }