UNPKG

convert-units

Version:

Convert between quantities in different units

216 lines (175 loc) 6.55 kB
var convert = require('../lib') , assert = require('assert') , tests = {} , ACCURACY = 1/1000 , percentError = require('../lib/percentError'); tests['l/s to l/s'] = function () { assert.strictEqual( convert(2).from('l/s').to('l/s') , 2); }; tests['mm3/s to l/s'] = function () { assert.strictEqual( convert(1000000).from('mm3/s').to('l/s') , 1); }; tests['cm3/s to l/s'] = function () { assert.strictEqual( convert(100).from('cm3/s').to('l/s') , 1/10); }; tests['dl/s to l/s'] = function () { assert.strictEqual( convert(2).from('dl/s').to('l/s') , 0.2); }; tests['cl/s to l/s'] = function () { assert.strictEqual( convert(25).from('cl/s').to('l/s') , 0.25); }; tests['ml/s to l/s'] = function () { assert.strictEqual( convert(100).from('ml/s').to('l/s') , 1/10); }; tests['m3/s to l/s'] = function () { assert.strictEqual( convert(1).from('m3/s').to('l/s') , 1000); }; tests['km3/s to l/s'] = function () { assert.strictEqual( convert(1).from('km3/s').to('l/s') , 1000000000000); }; tests['l/s to ml/s'] = function () { assert.strictEqual( convert(1).from('l/s').to('ml/s') , 1000); }; tests['dl/s to ml/s'] = function () { assert.strictEqual( convert(10).from('dl/s').to('ml/s') , 1000); }; tests['cl/s to ml/s'] = function () { assert.strictEqual( convert(100).from('cl/s').to('ml/s') , 1000); }; tests['ml/s to ml/s'] = function () { assert.strictEqual( convert(13).from('ml/s').to('ml/s') , 13); }; tests['fl-oz/s to fl-oz/s'] = function () { assert.strictEqual( convert(62).from('fl-oz/s').to('fl-oz/s') , 62); }; tests['fl-oz/s to Tbs/s'] = function () { assert.strictEqual( convert(4).from('fl-oz/s').to('Tbs/s') , 8); }; tests['Tbs/s to fl-oz/s'] = function () { assert.strictEqual( convert(2).from('Tbs/s').to('fl-oz/s') , 1); }; tests['Tbs/s to Tbs/s'] = function () { assert.strictEqual( convert(140).from('Tbs/s').to('Tbs/s') , 140); }; tests['l/s to l/min'] = function () { assert.strictEqual( convert(1).from('l/s').to('l/min') , 60); }; tests['l/s to l/h'] = function () { assert.strictEqual( convert(1).from('l/s').to('l/h') , 3600); }; tests['kl/s to kl/h'] = function () { assert.strictEqual( convert(1).from('kl/s').to('kl/h') , 3600); }; tests['l/s to kl/h'] = function () { assert.strictEqual( convert(1).from('l/s').to('kl/h') , 3.6); }; tests['l/s to m3/s'] = function () { assert.strictEqual( convert(1).from('l/s').to('m3/s') , 0.001); }; tests['m3/s to m3/h'] = function () { assert.strictEqual( convert(1).from('kl/s').to('kl/h') , 3600); }; // When converting between systems, expect < 0.1% error tests['tsp/s to l/s'] = function () { var expected = 1.75 , actual = convert(355).from('tsp/s').to('l/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['in3/s to l/s'] = function () { var expected = 0.0163871 , actual = convert(1).from('in3/s').to('l/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['in3/s to fl-oz/s'] = function () { var expected = 0.554113 , actual = convert(1).from('in3/s').to('fl-oz/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['m3/s to yd3/s'] = function () { var expected = 1.30795 , actual = convert(1).from('m3/s').to('yd3/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['ft3/s to cm3/s'] = function () { var expected = 28316.8 , actual = convert(1).from('ft3/s').to('cm3/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['pnt/s to ml/s'] = function () { var expected = 2366 , actual = convert(5).from('pnt/s').to('ml/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['ml/s to gal/s'] = function () { var expected = 2.609 , actual = convert(9876).from('ml/s').to('gal/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['gal/s to l/s'] = function () { var expected = 3.78541178 , actual = convert(1).from('gal/s').to('l/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['kl/s to kl/min'] = function () { var expected = 60 , actual = convert(1).from('kl/s').to('kl/min'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['l/s to kl/h'] = function () { var expected = 3.6 , actual = convert(1).from('l/s').to('kl/h'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['kl/min to l/h'] = function () { var expected = 60000 , actual = convert(1).from('kl/min').to('l/h'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['l/s to m3/h'] = function () { var expected = 3.6 , actual = convert(1).from('l/s').to('m3/h'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['m3/s to kl/h'] = function () { var expected = 3600 , actual = convert(1).from('m3/s').to('kl/h'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['fl-oz/s to m3/min'] = function () { var expected = 0.00177441177 , actual = convert(1).from('fl-oz/s').to('m3/min'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['ft3/min to l/s'] = function () { var expected = 0.471947443 , actual = convert(1).from('ft3/min').to('l/s'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['pnt/min to kl/h'] = function () { var expected = 0.0283905884 , actual = convert(1).from('pnt/min').to('kl/h'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; tests['yd3/h to m3/min'] = function () { var expected = 0.012742581 , actual = convert(1).from('yd3/h').to('m3/min'); assert.ok( percentError(expected, actual) < ACCURACY , 'Expected: ' + expected +', Actual: ' + actual); }; module.exports = tests;