@qntm-code/utils
Version:
A collection of useful utility functions with associated TypeScript types. All functions have been unit tested.
38 lines (37 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const isEqual_1 = require("./isEqual");
const isEqualTestDefinitions_spec_1 = require("./isEqualTestDefinitions.spec");
describe('isEqual', () => {
describe('types', () => {
// eslint-disable-next-line @typescript-eslint/no-empty-function
const types = [undefined, null, true, 1, '', new Date(), {}, Symbol(), () => { }];
it(`Should return true if the types are the same`, () => {
types.forEach(type => {
expect((0, isEqual_1.isEqual)(type, type)).toBeTrue();
});
});
it(`Should return false if the types aren't the same`, () => {
types.forEach((aType, aIndex) => types.forEach((bType, bIndex) => {
if (aIndex !== bIndex) {
if ((0, isEqual_1.isEqual)(aType, bType)) {
console.log(aType, bType);
}
expect((0, isEqual_1.isEqual)(aType, bType)).toBeFalse();
}
}));
});
});
for (const suite of isEqualTestDefinitions_spec_1.isEqualTests) {
describe(suite.description, () => {
for (const test of suite.tests) {
if (test.only) {
fit(test.description, () => expect((0, isEqual_1.isEqual)(test.a, test.b)).toBe(test.expected));
}
else {
it(test.description, () => expect((0, isEqual_1.isEqual)(test.a, test.b)).toBe(test.expected));
}
}
});
}
});