Files
30-seconds-of-code/test/toSafeInteger/toSafeInteger.test.js
2018-06-18 20:41:57 +03:00

43 lines
1.4 KiB
JavaScript

const expect = require('expect');
const toSafeInteger = require('./toSafeInteger.js');
test('toSafeInteger is a Function', () => {
expect(toSafeInteger).toBeInstanceOf(Function);
});
test('Number(toSafeInteger(3.2)) is a number', () => {
expect(Number(toSafeInteger(3.2))).toBeTruthy();
});
test('Converts a value to a safe integer', () => {
expect(toSafeInteger(3.2)).toBe(3);
});
test('toSafeInteger(\'4.2\') returns 4', () => {
expect(toSafeInteger('4.2')).toBe(4);
});
test('toSafeInteger(4.6) returns 5', () => {
expect(toSafeInteger(4.6)).toBe(5);
});
test('toSafeInteger([]) returns 0', () => {
expect(toSafeInteger([])).toBe(0);
});
test('isNaN(toSafeInteger([1.5, 3124])) is true', () => {
expect(isNaN(toSafeInteger([1.5, 3124]))).toBeTruthy();
});
test('isNaN(toSafeInteger(\'string\')) is true', () => {
expect(isNaN(toSafeInteger('string'))).toBeTruthy();
});
test('isNaN(toSafeInteger({})) is true', () => {
expect(isNaN(toSafeInteger({}))).toBeTruthy();
});
test('isNaN(toSafeInteger()) is true', () => {
expect(isNaN(toSafeInteger())).toBeTruthy();
});
test('toSafeInteger(Infinity) returns 9007199254740991', () => {
expect(toSafeInteger(Infinity)).toBe(9007199254740991);
});
let start = new Date().getTime();
toSafeInteger(3.2);
let end = new Date().getTime();
test('toSafeInteger(3.2) takes less than 2s to run', () => {
expect((end - start) < 2000).toBeTruthy();
});