sorting-lib
Version:
A library that makes sorting easier by introducing `Comparator`
73 lines (72 loc) • 2.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var nil_1 = require("./nil");
describe('nil.ts', function () {
function testFunction(f, cases) {
var _loop_1 = function (input, output) {
it("should return ".concat(output, " for ").concat(JSON.stringify(input)), function () {
expect(f(input)).toBe(output);
});
};
for (var _i = 0, cases_1 = cases; _i < cases_1.length; _i++) {
var _a = cases_1[_i], input = _a.input, output = _a.output;
_loop_1(input, output);
}
}
describe('isNotNil', function () {
testFunction(nil_1.isNotNil, [
{ input: null, output: false },
{ input: undefined, output: false },
{ input: 0, output: true },
{ input: 1, output: true },
{ input: '', output: true },
{ input: '1', output: true },
{ input: [], output: true },
{ input: {}, output: true },
{ input: false, output: true },
{ input: true, output: true },
]);
});
describe('isNil', function () {
testFunction(nil_1.isNil, [
{ input: null, output: true },
{ input: undefined, output: true },
{ input: 0, output: false },
{ input: 1, output: false },
{ input: '', output: false },
{ input: '1', output: false },
{ input: [], output: false },
{ input: {}, output: false },
{ input: false, output: false },
{ input: true, output: false },
]);
});
describe('isFalsy', function () {
testFunction(nil_1.isFalsy, [
{ input: null, output: true },
{ input: undefined, output: true },
{ input: 0, output: true },
{ input: 1, output: false },
{ input: '', output: true },
{ input: '1', output: false },
{ input: [], output: false },
{ input: {}, output: false },
{ input: false, output: true },
{ input: true, output: false },
]);
});
describe('isTruthy', function () {
testFunction(nil_1.isTruthy, [
{ input: null, output: false },
{ input: undefined, output: false },
{ input: 0, output: false },
{ input: 1, output: true },
{ input: '', output: false },
{ input: '1', output: true },
{ input: [], output: true },
{ input: {}, output: true },
{ input: false, output: false },
{ input: true, output: true },
]);
});
});