|
1 | | -import { err, ok, type Result } from "@mkvlrn/result"; |
2 | | - |
3 | | -interface TestCase<T> { |
| 1 | +interface TestCase { |
4 | 2 | a: number; |
5 | 3 | b: number; |
6 | | - expected: T; |
7 | | - display?: string | number; |
| 4 | + expected: number; |
| 5 | + errorMessage?: string; |
8 | 6 | } |
9 | 7 |
|
10 | | -export const addTestCases: TestCase<number>[] = [ |
| 8 | +export const addTestCases: TestCase[] = [ |
11 | 9 | { a: 2, b: 2, expected: 4 }, |
12 | 10 | { a: 2, b: 3, expected: 5 }, |
13 | 11 | { a: 1000, b: 2000, expected: 3000 }, |
14 | 12 | ]; |
15 | 13 |
|
16 | | -export const subtractTestCases: TestCase<number>[] = [ |
| 14 | +export const subtractTestCases: TestCase[] = [ |
17 | 15 | { a: 2, b: 2, expected: 0 }, |
18 | 16 | { a: 2, b: 3, expected: -1 }, |
19 | 17 | { a: 1000, b: 2000, expected: -1000 }, |
20 | 18 | ]; |
21 | 19 |
|
22 | | -export const multiplyTestCases: TestCase<number>[] = [ |
| 20 | +export const multiplyTestCases: TestCase[] = [ |
23 | 21 | { a: 2, b: 2, expected: 4 }, |
24 | 22 | { a: 2, b: 3, expected: 6 }, |
25 | 23 | { a: 1000, b: 2000, expected: 2_000_000 }, |
26 | 24 | ]; |
27 | 25 |
|
28 | | -export const divideTestCases: TestCase<Result<number, Error>>[] = [ |
29 | | - { a: 2, b: 2, expected: ok(1), display: 1 }, |
30 | | - { a: 2, b: 4, expected: ok(0.5), display: 0.5 }, |
31 | | - { a: 999, b: 333, expected: ok(3), display: 3 }, |
32 | | - { |
33 | | - a: 2, |
34 | | - b: 0, |
35 | | - expected: err(new Error("cannot divide by zero")), |
36 | | - display: "Error: cannot divide by zero", |
37 | | - }, |
| 26 | +export const divideTestCases: TestCase[] = [ |
| 27 | + { a: 2, b: 2, expected: 1 }, |
| 28 | + { a: 2, b: 4, expected: 0.5 }, |
| 29 | + { a: 999, b: 333, expected: 3 }, |
| 30 | + { a: 2, b: 0, expected: Number.NaN, errorMessage: "Error: cannot divide by zero" }, |
38 | 31 | ]; |
0 commit comments