predictype
Version:
PredicType is a library of pre-built and tested predicates for TypeScript, covering various data types and operations.
49 lines (48 loc) • 2.47 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const setComparison_js_1 = require("./setComparison.js");
(0, vitest_1.describe)('setComparison', () => {
(0, vitest_1.it)('should return true for equals', () => {
const a = new Set([1, 2, 3]);
const b = new Set([1, 2, 3]);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'equals', b)).toBe(true);
});
(0, vitest_1.it)('should return false for equals with different sets', () => {
const a = new Set([1, 2, 3]);
const b = new Set([1, 2, 4]);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'equals', b)).toBe(false);
});
(0, vitest_1.it)('should return true for not_equals', () => {
const a = new Set([1, 2, 3]);
const c = new Set([4, 5]);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'not_equals', c)).toBe(true);
});
(0, vitest_1.it)('should return false for not_equals with same sets', () => {
const a = new Set([1, 2, 3]);
const b = new Set([1, 2, 3]);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'not_equals', b)).toBe(false);
});
(0, vitest_1.it)('should return true for same_elements', () => {
const a = new Set([1, 2, 3]);
const b = new Set([3, 1, 2]); // Different order, same elements
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'same_elements', b)).toBe(true);
});
(0, vitest_1.it)('should return false for same_elements with different sets', () => {
const a = new Set([1, 2, 3]);
const b = new Set([1, 2, 4]);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'same_elements', b)).toBe(false);
});
(0, vitest_1.it)('should handle empty sets', () => {
const a = new Set();
const b = new Set();
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'equals', b)).toBe(true);
(0, vitest_1.expect)((0, setComparison_js_1.setComparison)(a, 'same_elements', b)).toBe(true);
});
(0, vitest_1.it)('should throw for unknown operator', () => {
const a = new Set([1, 2, 3]);
const b = new Set([1, 2, 3]);
// @ts-expect-error
(0, vitest_1.expect)(() => (0, setComparison_js_1.setComparison)(a, 'invalid_operator', b)).toThrow('Unknown SetComparison operation: invalid_operator');
});
});
;