UNPKG

autemaliquid

Version:
78 lines (63 loc) 2.03 kB
const VariableCosts = artifacts.require('./VariableCosts.sol') const Wallet = artifacts.require('./Wallet.sol') contract('VariableCosts', accounts => { const one = [1] const three = [2, 3, 4] const five = [5, 6, 7, 8, 9] let instance let walletB beforeEach(async () => { instance = await VariableCosts.new() walletB = await Wallet.new(); }) it('should add one', async () => { await instance.addToMap(one) }) it('should add three', async () => { await instance.addToMap(three) }) it('should add even 5!', async () => { await instance.addToMap(five) }) it('should delete one', async() => { await instance.removeFromMap(one) }) it('should delete three', async() => { await instance.removeFromMap(three) }) it('should delete five', async() => { await instance.removeFromMap(five) }) it('should add five and delete one', async() => { await instance.addToMap(five) await instance.removeFromMap(one) }) it('methods that do not throw', async() => { await instance.methodThatThrows(false) }) it('methods that throw', async() => { try { await instance.methodThatThrows(true) } catch (e) {} }) it('methods that call methods in other contracts', async() => { await instance.otherContractMethod(); }) it('prints a table at end of test suites with failures', async() => { assert(false); }) // VariableCosts is Wallet. We also have Wallet tests. So we should see // separate entries for `sendPayment` / `transferPayment` under VariableCosts // and Wallet in the report it('should allow contracts to have identically named methods', async () => { await instance.sendTransaction({ value: 100, from: accounts[0] }) await instance.sendPayment(50, walletB.address, { from: accounts[0] }) await instance.transferPayment(50, walletB.address, { from: accounts[0] }) const balance = await walletB.getBalance() assert.equal(parseInt(balance.toString()), 100) }) })