big-rat
Version:
A big integer rational number
60 lines (42 loc) • 1.02 kB
JavaScript
var bn = require('bn.js')
var rat = require('../index')
var tape = require('tape')
tape('bignum ctor', function(t) {
var a = new bn(10000)
var b = new bn(3)
var f = rat(a, b)
t.equals(f[0].toString(), a.toString())
t.equals(f[1].toString(), b.toString())
t.end()
})
tape('string ctor', function(t) {
var f = rat('20', '80')
t.equals(f[0].toString(), '1')
t.equals(f[1].toString(), '4')
t.end()
})
tape('rational ctor', function(t) {
var x = rat('5', '6')
var y = rat(x)
var z = rat(y, y)
t.equals(x[0].toString(), y[0].toString())
t.equals(x[1].toString(), y[1].toString())
t.equals(z[0].toString(), '1')
t.equals(z[1].toString(), '1')
t.end()
})
tape('integer ctor', function(t) {
for(var i=-10; i<10; ++i) {
var x = rat(i)
t.equals(x[0].toString(), ''+i)
t.equals(x[1].toString(), '1')
}
t.end()
})
tape('float ctor', function(t) {
var x = rat(1.5)
t.equals(x[0].toString(), '3')
t.equals(x[1].toString(), '2')
t.end()
})