pragmatic-fp-ts
Version:
Opinionated functional programming library with easy use in mind
42 lines (36 loc) • 909 B
text/typescript
import { aperture } from "../main.ts";
describe("aperture", () => {
it("splits up arrays", () => {
expect(aperture(2, [1, 2, 3, 4, 5])).toEqual([
[],
[],
[],
[],
]);
expect(aperture(3, [1, 2, 3, 4, 5])).toEqual([
[],
[],
[],
]);
expect(aperture(3, [1, 2, 3])).toEqual([[1, 2, 3]]);
});
it("is curried", () => {
expect(aperture(2)([1, 2, 3, 4, 5])).toEqual([
[],
[],
[],
[],
]);
expect(aperture(3)([1, 2, 3, 4, 5])).toEqual([
[],
[],
[],
]);
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([]);
});
});