42 lines
1.2 KiB
JavaScript
Executable File
42 lines
1.2 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
import chai from 'chai';
|
|
import NumberUtil from '../../lib/utils/number.js';
|
|
const assert = chai.assert;
|
|
|
|
describe('Number', function () {
|
|
|
|
it('should detected nunmeric value', () => {
|
|
assert.isTrue(NumberUtil.isNumeric(-1));
|
|
assert.isTrue(NumberUtil.isNumeric(-1.12345));
|
|
assert.isTrue(NumberUtil.isNumeric(0));
|
|
assert.isTrue(NumberUtil.isNumeric(1));
|
|
assert.isTrue(NumberUtil.isNumeric(1.0236));
|
|
assert.isTrue(NumberUtil.isNumeric('0'));
|
|
assert.isTrue(NumberUtil.isNumeric('1'));
|
|
assert.isTrue(NumberUtil.isNumeric('1.123'));
|
|
assert.isFalse(NumberUtil.isNumeric('lol'));
|
|
assert.isFalse(NumberUtil.isNumeric('10a'));
|
|
assert.isFalse(NumberUtil.isNumeric(null));
|
|
});
|
|
|
|
it('should round floats to 2 places', function () {
|
|
|
|
var cases = [
|
|
{ n: 10, e: 10, p: 2 },
|
|
{ n: 1.7777, e: 1.78, p: 2 },
|
|
{ n: 1.005, e: 1.01, p: 2 },
|
|
{ n: 1.005, e: 1, p: 0 },
|
|
{ n: 1.77777, e: 1.8, p: 1 }
|
|
]
|
|
|
|
cases.forEach(function (testCase) {
|
|
//use default rounding
|
|
var r = NumberUtil.roundTo(testCase.n, testCase.p, 'default');
|
|
assert.equal(r, testCase.e, 'didn\'t get right number');
|
|
});
|
|
|
|
});
|
|
|
|
});
|