Files
Typescript-Function-Injection/inject.test.ts
Robin Chappatte 127ae6abd9 initial commit
2024-06-01 16:32:44 +02:00

92 lines
2.0 KiB
TypeScript

import { assertEquals } from "https://deno.land/std@0.223.0/assert/mod.ts";
import { inject } from "./inject.ts";
function toInject(
p1: number,
p2: number,
p3: number,
p4: number,
p5: number,
p6: number,
p7: number,
p8: number,
p9: number,
) {
return [
p1,
p2,
p3,
p4,
p5,
p6,
p7,
p8,
p9,
];
}
const expectedResult = [
1,
2,
3,
4,
5,
6,
7,
8,
9,
]
Deno.test("inject with single parameter", () => {
const injected = inject(toInject, 1);
const result = injected(2, 3, 4, 5, 6, 7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with two parameters", () => {
const injected = inject(toInject, 1, 2);
const result = injected(3, 4, 5, 6, 7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with three parameters", () => {
const injected = inject(toInject, 1, 2, 3);
const result = injected(4, 5, 6, 7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with four parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4);
const result = injected(5, 6, 7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with five parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4, 5);
const result = injected(6, 7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with six parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4, 5, 6);
const result = injected(7, 8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with seven parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4, 5, 6, 7);
const result = injected(8, 9);
assertEquals(result, expectedResult);
});
Deno.test("inject with eight parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4, 5, 6, 7, 8);
const result = injected(9);
assertEquals(result, expectedResult);
});
Deno.test("inject with nine parameters", () => {
const injected = inject(toInject, 1, 2, 3, 4, 5, 6, 7, 8, 9);
const result = injected();
assertEquals(result, expectedResult);
});