From 064f8b0b5847f297accb45e12b2dd7375b6792d2 Mon Sep 17 00:00:00 2001 From: rigelrozanski Date: Fri, 28 Sep 2018 19:23:01 -0400 Subject: [PATCH] dec coin tests --- x/distribution/types/codec.go | 2 +- x/distribution/types/dec_coin_test.go | 57 +++++++++++++++++++++ x/distribution/types/delegator_info_test.go | 6 +++ x/distribution/types/fee_pool_test.go | 6 +++ 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 x/distribution/types/dec_coin_test.go create mode 100644 x/distribution/types/delegator_info_test.go create mode 100644 x/distribution/types/fee_pool_test.go diff --git a/x/distribution/types/codec.go b/x/distribution/types/codec.go index edb121d20d..55d7c6cdae 100644 --- a/x/distribution/types/codec.go +++ b/x/distribution/types/codec.go @@ -12,7 +12,7 @@ func RegisterCodec(cdc *codec.Codec) { cdc.RegisterConcrete(MsgSetWithdrawAddress{}, "cosmos-sdk/MsgModifyWithdrawAddress", nil) } -// generic sealed codec to be used throughout sdk +// generic sealed codec to be used throught module var MsgCdc *codec.Codec func init() { diff --git a/x/distribution/types/dec_coin_test.go b/x/distribution/types/dec_coin_test.go new file mode 100644 index 0000000000..ee8aa30c0d --- /dev/null +++ b/x/distribution/types/dec_coin_test.go @@ -0,0 +1,57 @@ +package types + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestPlusDecCoin(t *testing.T) { + decCoinA1 := DecCoin("A", sdk.NewDecWithPrec(11, 1)) + decCoinA2 := DecCoin("A", sdk.NewDecWithPrec(22, 1)) + decCoinB1 := DecCoin("B", sdk.NewDecWithPrec(11, 1)) + decCoinC1 := DecCoin("C", sdk.NewDecWithPrec(11, 1)) + decCoinCn4 := DecCoin("C", sdk.NewDecWithPrec(-44, 1)) + decCoinC5 := DecCoin("C", sdk.NewDecWithPrec(55, 1)) + + cases := []struct { + inputOne DecCoin + inputTwo DecCoin + expected DecCoin + }{ + {decCoinA1, decCoinA1, decCoinA2}, + {decCoinA1, decCoinB1, decCoinA1}, + {decCoinCn4, decCoinC5, decCoinC1}, + } + for tcIndex, tc := range cases { + res := tc.inputOne.Plus(tc.inputTwo) + require.Equal(t, tc.expected, res, "sum of coins is incorrect, tc #%d", tcIndex) + } +} + +func TestPlusCoins(t *testing.T) { + one := sdk.NewDec(1) + zero := sdk.NewDec(0) + negone := sdk.NewDec(-1) + two := sdk.NewDec(2) + + cases := []struct { + inputOne DecCoins + inputTwo DecCoins + expected DecCoins + }{ + {DecCoins{{"A", one}, {"B", one}}, DecCoins{{"A", one}, {"B", one}}, DecCoins{{"A", two}, {"B", two}}}, + {DecCoins{{"A", zero}, {"B", one}}, DecCoins{{"A", zero}, {"B", zero}}, DecCoins{{"B", one}}}, + {DecCoins{{"A", zero}, {"B", zero}}, DecCoins{{"A", zero}, {"B", zero}}, DecCoins(nil)}, + {DecCoins{{"A", one}, {"B", zero}}, DecCoins{{"A", negone}, {"B", zero}}, DecCoins(nil)}, + {DecCoins{{"A", negone}, {"B", zero}}, DecCoins{{"A", zero}, {"B", zero}}, DecCoins{{"A", negone}}}, + } + + for tcIndex, tc := range cases { + res := tc.inputOne.Plus(tc.inputTwo) + assert.True(t, res.IsValid()) + require.Equal(t, tc.expected, res, "sum of coins is incorrect, tc #%d", tcIndex) + } +} diff --git a/x/distribution/types/delegator_info_test.go b/x/distribution/types/delegator_info_test.go new file mode 100644 index 0000000000..af89f40ca0 --- /dev/null +++ b/x/distribution/types/delegator_info_test.go @@ -0,0 +1,6 @@ +package types + +import "testing" + +func TestWithdrawRewards(t *testing.T) { +} diff --git a/x/distribution/types/fee_pool_test.go b/x/distribution/types/fee_pool_test.go new file mode 100644 index 0000000000..e20d283b8d --- /dev/null +++ b/x/distribution/types/fee_pool_test.go @@ -0,0 +1,6 @@ +package types + +import "testing" + +func TestTotalAccumUpdate(t *testing.T) { +}