UNPKG

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
"use strict"; 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'); }); });