|
|
|
@ -2,37 +2,46 @@ export const tests = []
|
|
|
|
|
const t = (f) => tests.push(f) |
|
|
|
|
|
|
|
|
|
t(({ eq }) => eq(adder([1, 2, 3, 4]), 10)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [1, 2, 3, 4]), |
|
|
|
|
) |
|
|
|
|
t(({ eq }) => eq(adder([9, 24, 7, 11, 3], 10), 64)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [9, 24, 7, 11, 3]), |
|
|
|
|
) |
|
|
|
|
t(({ eq }) => eq(adder([]), 0)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [])) |
|
|
|
|
|
|
|
|
|
t(({ eq }) => eq(sumOrMul([29, 23, 3, 2, 25]), 135)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [29, 23, 3, 2, 25]), |
|
|
|
|
) |
|
|
|
|
t(({ eq }) => eq(sumOrMul([18, 17, 7, 13, 25], 12), 278)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [18, 17, 7, 13, 25]), |
|
|
|
|
) |
|
|
|
|
t(({ eq }) => eq(sumOrMul([8, 16, 7, 0, 32]), 0)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [8, 16, 7, 0, 32]), |
|
|
|
|
) |
|
|
|
|
t(({ eq }) => eq(sumOrMul([8, 16, 7, 0, 31]), 31)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => |
|
|
|
|
eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], [8, 16, 7, 0, 31]), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
t(({ eq, ctx }) => eq(funcExec(ctx.fArr1, 10), `result: [137]`)) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], ctx.fArr1)) |
|
|
|
|
|
|
|
|
|
t(({ eq, ctx }) => eq(funcExec(ctx.fArr2, 4), { result: 72, isOdd: true })) |
|
|
|
|
//check that the code did use reduce properly
|
|
|
|
|
t(({ eq, ctx }) => eq(ctx.reduceCalls[ctx.reduceCalls.length - 1], ctx.fArr2)) |
|
|
|
|
|
|
|
|
|
Object.freeze(tests) |
|
|
|
|