bitcoinjs-lib/test/bigi.js

47 lines
1.2 KiB
JavaScript
Raw Normal View History

2014-04-23 23:22:10 +02:00
var assert = require('assert')
var BigInteger = require('../').BigInteger
var fixtures = require('./fixtures/bigi')
describe('BigInteger', function() {
describe('fromBuffer/fromHex', function() {
it('should match the test vectors', function() {
fixtures.valid.forEach(function(f) {
assert.deepEqual(BigInteger.fromHex(f.hex).toString(), f.dec)
assert.deepEqual(BigInteger.fromHex(f.hexPadded).toString(), f.dec)
})
})
fixtures.invalid.forEach(function(f) {
it('throws on ' + f.description, function() {
assert.throws(function() {
BigInteger.fromHex(f.string)
})
})
})
})
describe('toBuffer/toHex', function() {
it('should match the test vectors', function() {
fixtures.valid.forEach(function(f) {
var actualHex = new BigInteger(f.dec).toHex()
assert.equal(actualHex, f.hex)
})
})
})
describe('toPaddedBuffer', function() {
it('should match the test vectors', function() {
fixtures.valid.forEach(function(f) {
var actualBuf = new BigInteger(f.dec).toPaddedBuffer(32)
assert.equal(actualBuf.length, 32)
assert.equal(actualBuf.toString('hex'), f.hexPadded)
})
})
})
})
module.exports = BigInteger