|
| 1 | +import { describe, expect, test } from "vitest"; |
1 | 2 | import subtract from "."; |
2 | | -import { expect, test } from "vitest"; |
3 | 3 |
|
4 | | -test("2 - 1은 1이다.", () => { |
5 | | - expect(subtract(2, 1)).toBe(1); |
6 | | -}); |
| 4 | +describe("subtract", () => { |
| 5 | + describe("기본 케이스", () => { |
| 6 | + test("두 양수를 올바르게 뺀다", () => { |
| 7 | + expect(subtract(10, 3)).toBe(7); |
| 8 | + }); |
7 | 9 |
|
8 | | -test("5 - 10 - 15는 -20이다.", () => { |
9 | | - expect(subtract(5, 10, 15)).toBe(-20); |
10 | | -}); |
| 10 | + test("여러 숫자를 순서대로 뺀다", () => { |
| 11 | + expect(subtract(100, 10, 20)).toBe(70); |
| 12 | + }); |
11 | 13 |
|
12 | | -test("-1 - (-2)는 1이다.", () => { |
13 | | - expect(subtract(-1, -2)).toBe(1); |
14 | | -}); |
| 14 | + test("음수를 포함한 뺄셈을 올바르게 처리한다", () => { |
| 15 | + expect(subtract(5, -10)).toBe(15); |
| 16 | + expect(subtract(-5, 10)).toBe(-15); |
| 17 | + }); |
| 18 | + }); |
| 19 | + |
| 20 | + describe("예외 케이스", () => { |
| 21 | + test("인수가 없을 때 0을 반환한다", () => { |
| 22 | + expect(subtract()).toBe(0); |
| 23 | + }); |
| 24 | + |
| 25 | + test("인수가 하나일 때 해당 숫자 자신을 반환한다", () => { |
| 26 | + expect(subtract(10)).toBe(10); |
| 27 | + expect(subtract(-5)).toBe(-5); |
| 28 | + }); |
| 29 | + |
| 30 | + test("0을 포함한 뺄셈을 올바르게 처리한다", () => { |
| 31 | + expect(subtract(10, 0)).toBe(10); |
| 32 | + expect(subtract(0, 10)).toBe(-10); |
| 33 | + }); |
| 34 | + |
| 35 | + test("부동소수점을 올바르게 처리한다", () => { |
| 36 | + expect(subtract(0.3, 0.1)).toBeCloseTo(0.2); |
| 37 | + }); |
15 | 38 |
|
16 | | -test("인자 없는 경우 0을 반환한다.", () => { |
17 | | - expect(subtract()).toBe(0); |
| 39 | + test("인수 중 NaN이 포함되면 NaN을 반환한다", () => { |
| 40 | + expect(subtract(10, 5, NaN, 2)).toBeNaN(); |
| 41 | + }); |
| 42 | + }); |
18 | 43 | }); |
0 commit comments