diff options
Diffstat (limited to 'tests/js/utils.mjs')
-rw-r--r-- | tests/js/utils.mjs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/js/utils.mjs b/tests/js/utils.mjs index 1875ce5..94e8eae 100644 --- a/tests/js/utils.mjs +++ b/tests/js/utils.mjs @@ -4,6 +4,7 @@ import { runTests } from "../runner.mjs"; import { eq, keys, + difference, assocIn, getIn, first, @@ -126,6 +127,49 @@ const test_keys = t => { }); }; +const test_difference = t => { + t.start("difference()"); + + t.test("empty values", () => { + assert.deepEqual( + difference(new Set(), new Set()), + new Set(), + ); + + assert.deepEqual( + difference(new Set(), new Set([1, 2])), + new Set(), + ); + + assert.deepEqual( + difference(new Set([1, 2]), new Set()), + new Set([1, 2]), + ); + }); + + t.test("different subsets", () => { + assert.deepEqual( + difference(new Set([1, 2]), new Set([3, 4])), + new Set([1, 2]), + ); + + assert.deepEqual( + difference(new Set([1, 2, 3]), new Set([2, 4, 5])), + new Set([1, 3]), + ); + + assert.deepEqual( + difference(new Set([1]), new Set([1, 2, 3, 4, 5])), + new Set(), + ); + + assert.deepEqual( + difference(new Set([1, 2, 3]), new Set([1, 2, 3])), + new Set(), + ); + }); +}; + const test_assocIn = t => { t.start("assocIn()"); @@ -218,6 +262,7 @@ const test_log = t => { await runTests([ test_eq, test_keys, + test_difference, test_assocIn, test_getIn, test_first, |