tsoid
Version:
Typed functional library to deal with async operations.
25 lines (24 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const curry_1 = require("../curry");
const uncurry_1 = require("../uncurry");
describe('uncurry', () => {
it('Curried and uncurried functions should return the same value', () => {
const sum = (a, b) => a + b;
const curriedSum = curry_1.default(sum);
const uncurriedSum = uncurry_1.default(curriedSum);
expect(curriedSum(1)(2)).toBe(uncurriedSum(1, 2));
});
it('Uncurry to 3-arity function', () => {
const sum = (a, b, c) => a + b + c;
const curriedSum = curry_1.curry3(sum);
const uncurriedSum = uncurry_1.uncurry3(curriedSum);
expect(curriedSum(1)(2)(3)).toBe(uncurriedSum(1, 2, 3));
});
it('Uncurry to 4-arity function', () => {
const sum = (a, b, c, d) => a + b + c + d;
const curriedSum = curry_1.curry4(sum);
const uncurriedSum = uncurry_1.uncurry4(curriedSum);
expect(curriedSum(1)(2)(3)(4)).toBe(uncurriedSum(1, 2, 3, 4));
});
});