git.delta.rocks / unique-network / refs/commits / 9d35eaceaefb

difftreelog

Add boundary tests for inflation rate

Greg Zaitsev2021-04-07parent: #b40985b.patch.diff
in: master

2 files changed

modifiedpallets/inflation/src/tests.rsdiffbeforeafterboth
189 });189 });
190 }190 }
191191
192 #[test]
193 fn inflation_rate_by_year() {
194 new_test_ext().execute_with(|| {
195 let payouts: u64 = YEAR / InflationBlockInterval::get() as u64;
196
197 // Inflation starts at 10% and does down by 2/3% every year until year 9 (included),
198 // then it is flat.
199 let payout_by_year: [u64; 11] = [
200 1000,
201 933,
202 867,
203 800,
204 733,
205 667,
206 600,
207 533,
208 467,
209 400,
210 400
211 ];
212
213 // For accuracy total issuance = payout0 * payouts * 10;
214 let initial_issuance: u64 = payout_by_year[0] * payouts * 10;
215 let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
216 assert_eq!(Balances::free_balance(1234), initial_issuance);
217
218 for year in 0..=10 {
219 // Year first block
220 Inflation::on_initialize(year*YEAR);
221 let mut actual_payout = Inflation::block_inflation();
222 assert_eq!(actual_payout, payout_by_year[year as usize]);
223
224 // Year second block
225 Inflation::on_initialize(year*YEAR+1);
226 actual_payout = Inflation::block_inflation();
227 assert_eq!(actual_payout, payout_by_year[year as usize]);
228
229 // Year middle block
230 Inflation::on_initialize(year*YEAR + YEAR/2);
231 actual_payout = Inflation::block_inflation();
232 assert_eq!(actual_payout, payout_by_year[year as usize]);
233
234 // Year last block
235 Inflation::on_initialize((year + 1)*YEAR-1);
236 actual_payout = Inflation::block_inflation();
237 assert_eq!(actual_payout, payout_by_year[year as usize]);
238 }
239 });
240 }
192}241}
193242
modifiedtests/src/inflation.test.tsdiffbeforeafterboth
--- a/tests/src/inflation.test.ts
+++ b/tests/src/inflation.test.ts
@@ -5,14 +5,10 @@
 
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
-import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from "./substrate/substrate-api";
-import { alicesPublicKey, bobsPublicKey } from "./accounts";
+import { default as usingApi } from "./substrate/substrate-api";
 import privateKey from "./substrate/privateKey";
 import { BigNumber } from 'bignumber.js';
 import { IKeyringPair } from '@polkadot/types/types';
-import { 
-  getGenericResult,
-} from './util/helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
@@ -44,6 +40,4 @@
     });
   });
 
-
 });
-