UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

37 lines (34 loc) 1.26 kB
import { difference, differenceWith, identity } from "../main.ts"; describe("difference()", () => { it("should find set difference of primitives", () => { expect(difference([1, 2, 3, 4])([2, 4, 5, 6])).toEqual([1, 3]); }); it("should find set differences of strings", () => { expect(difference(["foo", "bar", "baz"])(["foo", "di", "doo"])).toEqual(["bar", "baz"]); }); it("will not find object differences", () => { expect( difference([{ foo: 1 }, { foo: 3 }, { foo: 4 }])([{ foo: 1 }, { foo: 2 }, { foo: 3 }]) ).toEqual([{ foo: 1 }, { foo: 3 }, { foo: 4 }]); }); describe("differenceWith()", () => { it("should find set difference of primitives", () => { expect(differenceWith(identity)([1, 2, 3, 4])([2, 4, 5, 6])).toEqual([1, 3]); }); it("should find set differences of strings", () => { expect(differenceWith(identity)(["foo", "bar", "baz"])(["foo", "di", "doo"])).toEqual([ "bar", "baz", ]); }); it("should find object differences", () => { expect( differenceWith(({ foo }: any) => foo)([{ foo: 1 }, { foo: 3 }, { foo: 4 }])([ { foo: 1 }, { foo: 2 }, { foo: 3 }, ]) ).toEqual([{ foo: 4 }]); }); }); });