UNPKG

1.89 kBJavaScriptView Raw
1var convert = require('../lib')
2 , assert = require('assert')
3 , tests = {}
4 , ACCURACY = 1/1000
5 , percentError = require('../lib/percentError');
6
7tests['lb to lb'] = function () {
8 assert.strictEqual( convert(1).from('lb').to('lb') , 1);
9};
10
11tests['lb to oz'] = function () {
12 assert.strictEqual( convert(1).from('lb').to('oz') , 16);
13};
14
15tests['oz to lb'] = function () {
16 assert.strictEqual( convert(1).from('oz').to('lb') , 1/16);
17};
18
19tests['oz to oz'] = function () {
20 assert.strictEqual( convert(6).from('oz').to('oz') , 6);
21};
22
23tests['kg to kg'] = function () {
24 assert.strictEqual( convert(1).from('kg').to('kg') , 1);
25};
26
27tests['kg to g'] = function () {
28 assert.strictEqual( convert(1).from('kg').to('g') , 1000);
29};
30
31tests['g to kg'] = function () {
32 assert.strictEqual( convert(1).from('g').to('kg') , 1/1000);
33};
34
35tests['g to g'] = function () {
36 assert.strictEqual( convert(100).from('g').to('g') , 100);
37};
38
39// When converting between systems, expect < 0.1% error
40tests['kg to lb'] = function () {
41 var expected = 0.453592
42 , actual = convert(1).from('lb').to('kg');
43 assert.ok( percentError(expected, actual) < ACCURACY
44 , 'Expected: ' + expected +', Actual: ' + actual);
45};
46
47tests['g to lb'] = function () {
48 var expected = 0.00220462
49 , actual = convert(1).from('g').to('lb');
50 assert.ok( percentError(expected, actual) < ACCURACY
51 , 'Expected: ' + expected +', Actual: ' + actual);
52};
53
54tests['lb to g'] = function () {
55 var expected = 1360.78
56 , actual = convert(3).from('lb').to('g');
57 assert.ok( percentError(expected, actual) < ACCURACY
58 , 'Expected: ' + expected +', Actual: ' + actual);
59};
60
61tests['g to lb'] = function () {
62 var expected = 3
63 , actual = convert(1360.78).from('g').to('lb');
64 assert.ok( percentError(expected, actual) < ACCURACY
65 , 'Expected: ' + expected +', Actual: ' + actual);
66};
67
68module.exports = tests;