UNPKG

@g4g/eth-gas-reporter

Version:

Mocha reporter which shows gas used per unit test.

73 lines (64 loc) 2.67 kB
var MetaCoin = artifacts.require('./MetaCoin.sol') contract('MetaCoin', function (accounts) { beforeEach(async function () { await MetaCoin.new() await MetaCoin.new() }) afterEach(async function () { await MetaCoin.new() await MetaCoin.new() }) it('should put 10000 MetaCoin in the first account', function () { return MetaCoin.deployed().then(function (instance) { return instance.getBalance.call(accounts[0]) }).then(function (balance) { assert.equal(balance.valueOf(), 10000, "10000 wasn't in the first account") }) }) it('should call a function that depends on a linked library', function () { var meta var metaCoinBalance var metaCoinEthBalance return MetaCoin.deployed().then(function (instance) { meta = instance return meta.getBalance.call(accounts[0]) }).then(function (outCoinBalance) { metaCoinBalance = parseInt(outCoinBalance.toString()) return meta.getBalanceInEth.call(accounts[0]) }).then(function (outCoinBalanceEth) { metaCoinEthBalance = parseInt(outCoinBalanceEth.toString()) }).then(function () { assert.equal(metaCoinEthBalance, 2 * metaCoinBalance, 'Library function returned unexpected function, linkage may be broken') }) }) it('should send coin correctly', function () { var meta // Get initial balances of first and second account. var account_one = accounts[0] var account_two = accounts[1] var account_one_starting_balance var account_two_starting_balance var account_one_ending_balance var account_two_ending_balance var amount = 10 return MetaCoin.deployed().then(function (instance) { meta = instance return meta.getBalance.call(account_one) }).then(function (balance) { account_one_starting_balance = parseInt(balance.toString()) return meta.getBalance.call(account_two) }).then(function (balance) { account_two_starting_balance = parseInt(balance.toString()) return meta.sendCoin(account_two, amount, {from: account_one}) }).then(function () { return meta.getBalance.call(account_one) }).then(function (balance) { account_one_ending_balance = parseInt(balance.toString()) return meta.getBalance.call(account_two) }).then(function (balance) { account_two_ending_balance = parseInt(balance.toString()) assert.equal(account_one_ending_balance, account_one_starting_balance - amount, "Amount wasn't correctly taken from the sender") assert.equal(account_two_ending_balance, account_two_starting_balance + amount, "Amount wasn't correctly sent to the receiver") }) }) })