var assert = require('assert') var networks = require('../src/networks') var sinon = require('sinon') var Transaction = require('../src/transaction') var fixtures = require('./fixtures/network') describe('networks', function() { var txToBuffer before(function(){ txToBuffer = sinon.stub(Transaction.prototype, "toBuffer") }) after(function(){ Transaction.prototype.toBuffer.restore() }) fixtures.valid.forEach(function(f) { describe(f.network + ' estimateFee', function() { var network = networks[f.network] it('calculates the fee correctly for ' + f.description, function() { var buffer = new Buffer(f.txSize) txToBuffer.returns(buffer) var estimateFee = network.estimateFee var tx = new Transaction() tx.outs = f.outputs || [] assert.equal(estimateFee(tx), f.fee) }) }) }) })