@@ -107,41 +107,20 @@ func TestBlockProvision(t *testing.T) {
107107 {(secondsPerYear / 5 ) / 2 , 0 , sdk .NewInt (1 )},
108108 {(secondsPerYear / 5 ) * 3 , 3 , sdk .NewInt (1 )},
109109 {(secondsPerYear / 5 ) * 7 , 7 , sdk .NewInt (2 )},
110- }
111- for i , tc := range tests {
112- minter .AnnualProvisions = sdk .NewDec (tc .annualProvisions )
113- minter .TargetSupply = tc .totalSupply .Add (minter .AnnualProvisions .TruncateInt ())
114-
115- provisions := minter .BlockProvision (params , tc .totalSupply )
116-
117- expProvisions := sdk .NewCoin (params .MintDenom ,
118- sdk .NewInt (tc .expProvisions ))
119-
120- require .True (t , expProvisions .IsEqual (provisions ),
121- "test: %v\n \t Exp: %v\n \t Got: %v\n " ,
122- i , tc .expProvisions , provisions )
123- }
124- }
125-
126- func TestBlockProvisionRounding (t * testing.T ) {
127- minter := InitialMinter (sdk .NewDecWithPrec (1 , 1 ))
128- params := DefaultParams ()
129-
130- secondsPerYear := int64 (60 * 60 * 8766 )
131-
132- tests := []struct {
133- annualProvisions int64
134- expProvisions int64
135- totalSupply sdk.Int
136- }{
110+ // we special case this below to trigger the
111+ // conditional in BlockProvision
137112 {(secondsPerYear / 5 ) * 7200 , 0 , sdk .NewInt (7000 )},
138113 }
139114 for i , tc := range tests {
115+ minter .AnnualProvisions = sdk .NewDec (tc .annualProvisions )
140116 // if provision amount + total current supply
141117 // (totalSupply) exceeds target supply it should
142118 // return targetSupply - totalSupply, i.e. zero
143- minter .AnnualProvisions = sdk .NewDec (tc .annualProvisions )
144- minter .TargetSupply = tc .totalSupply
119+ if i == 6 {
120+ minter .TargetSupply = tc .totalSupply
121+ } else {
122+ minter .TargetSupply = tc .totalSupply .Add (minter .AnnualProvisions .TruncateInt ())
123+ }
145124
146125 provisions := minter .BlockProvision (params , tc .totalSupply )
147126
0 commit comments