92 lines
2.0 KiB
TypeScript
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);
|
|
}); |