UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

42 lines (36 loc) 909 B
import { aperture } from "../main.ts"; describe("aperture", () => { it("splits up arrays", () => { expect(aperture(2, [1, 2, 3, 4, 5])).toEqual([ [1, 2], [2, 3], [3, 4], [4, 5], ]); expect(aperture(3, [1, 2, 3, 4, 5])).toEqual([ [1, 2, 3], [2, 3, 4], [3, 4, 5], ]); expect(aperture(3, [1, 2, 3])).toEqual([[1, 2, 3]]); }); it("is curried", () => { expect(aperture(2)([1, 2, 3, 4, 5])).toEqual([ [1, 2], [2, 3], [3, 4], [4, 5], ]); expect(aperture(3)([1, 2, 3, 4, 5])).toEqual([ [1, 2, 3], [2, 3, 4], [3, 4, 5], ]); expect(aperture(3)([1, 2, 3])).toEqual([[1, 2, 3]]); }); it("treats error cases correctly", () => { expect(aperture(4, [1, 2, 3])).toEqual([]); expect(aperture(-1, [1, 2, 3])).toEqual([]); expect(aperture(0, [1, 2, 3])).toEqual([]); }); });