UNPKG

@giancosta86/more-jest

Version:
50 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Equality = void 0; const globals_1 = require("@jest/globals"); const swan_lake_1 = require("@giancosta86/swan-lake"); function createEqualityTesterFor(classType) { return function (left, right) { if (!(left instanceof classType) || !(right instanceof classType)) { return; } return swan_lake_1.Optional.equals(left, right); }; } var Equality; (function (Equality) { function addTesterFor(classType) { const equalityTester = createEqualityTesterFor(classType); globals_1.expect.addEqualityTesters([equalityTester]); } Equality.addTesterFor = addTesterFor; function test(factory, differentFactory) { describe("equality", () => { it("should work", () => { const left = factory(); const right = factory(); (0, globals_1.expect)(left).toEqual(right); (0, globals_1.expect)(right).toEqual(left); }); it("should support arrays", () => { const leftArray = [factory()]; const rightArray = [factory()]; (0, globals_1.expect)(leftArray).toEqual(rightArray); (0, globals_1.expect)(rightArray).toEqual(leftArray); }); it("should detect differences", () => { const value = factory(); const different = differentFactory(); (0, globals_1.expect)(value).not.toEqual(different); (0, globals_1.expect)(different).not.toEqual(value); }); it("should detect undefined", () => { const value = factory(); (0, globals_1.expect)(value).not.toEqual(undefined); (0, globals_1.expect)(undefined).not.toEqual(value); }); }); } Equality.test = test; })(Equality = exports.Equality || (exports.Equality = {})); //# sourceMappingURL=equality.js.map