var assert = require('assert') var networks = require('../src/networks') var sinon = require('sinon') var HDNode = require('../src/hdnode') 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() }) describe('constants', function() { fixtures.valid.constants.forEach(function(f) { var network = networks[f.network] Object.keys(f.bip32).forEach(function(name) { var extb58 = f.bip32[name] it('resolves ' + extb58 + ' to ' + f.network, function() { assert.equal(HDNode.fromBase58(extb58, network).network, network) }) }) }) }) describe('estimateFee', function() { fixtures.valid.estimateFee.forEach(function(f) { describe('(' + f.network + ')', 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) }) }) }) }) })