diff --git a/package/numberUtil/subtract/index.test.ts b/package/numberUtil/subtract/index.test.ts index 64478e1..81cefc9 100644 --- a/package/numberUtil/subtract/index.test.ts +++ b/package/numberUtil/subtract/index.test.ts @@ -1,18 +1,43 @@ +import { describe, expect, test } from "vitest"; import subtract from "."; -import { expect, test } from "vitest"; -test("2 - 1은 1이다.", () => { - expect(subtract(2, 1)).toBe(1); -}); +describe("subtract", () => { + describe("기본 케이스", () => { + test("두 양수를 올바르게 뺀다", () => { + expect(subtract(10, 3)).toBe(7); + }); -test("5 - 10 - 15는 -20이다.", () => { - expect(subtract(5, 10, 15)).toBe(-20); -}); + test("여러 숫자를 순서대로 뺀다", () => { + expect(subtract(100, 10, 20)).toBe(70); + }); -test("-1 - (-2)는 1이다.", () => { - expect(subtract(-1, -2)).toBe(1); -}); + test("음수를 포함한 뺄셈을 올바르게 처리한다", () => { + expect(subtract(5, -10)).toBe(15); + expect(subtract(-5, 10)).toBe(-15); + }); + }); + + describe("예외 케이스", () => { + test("인수가 없을 때 0을 반환한다", () => { + expect(subtract()).toBe(0); + }); + + test("인수가 하나일 때 해당 숫자 자신을 반환한다", () => { + expect(subtract(10)).toBe(10); + expect(subtract(-5)).toBe(-5); + }); + + test("0을 포함한 뺄셈을 올바르게 처리한다", () => { + expect(subtract(10, 0)).toBe(10); + expect(subtract(0, 10)).toBe(-10); + }); + + test("부동소수점을 올바르게 처리한다", () => { + expect(subtract(0.3, 0.1)).toBeCloseTo(0.2); + }); -test("인자 없는 경우 0을 반환한다.", () => { - expect(subtract()).toBe(0); + test("인수 중 NaN이 포함되면 NaN을 반환한다", () => { + expect(subtract(10, 5, NaN, 2)).toBeNaN(); + }); + }); }); diff --git a/package/numberUtil/sum/index.test.ts b/package/numberUtil/sum/index.test.ts index b4e1e2f..a4073b2 100644 --- a/package/numberUtil/sum/index.test.ts +++ b/package/numberUtil/sum/index.test.ts @@ -1,10 +1,38 @@ import sum from "."; -import { expect, test } from "vitest"; +import { describe, expect, test } from "vitest"; -test("1 + 2 + 3은 6이다.", () => { - expect(sum(1, 2, 3)).toBe(6); -}); +describe("sum", () => { + describe("기본 케이스", () => { + test("1 + 2 + 3은 6이다.", () => { + expect(sum(1, 2, 3)).toBe(6); + }); + + test("5 + 10 + 15는 30이다.", () => { + expect(sum(5, 10, 15)).toBe(30); + }); + }); + + describe("예외 케이스", () => { + test("인수가 없을 때 0을 반환한다", () => { + expect(sum()).toBe(0); + }); + + test("인수가 하나일 때 해당 숫자 자신을 반환한다", () => { + expect(sum(10)).toBe(10); + expect(sum(-5)).toBe(-5); + }); + + test("음수를 포함한 덧셈을 올바르게 처리한다", () => { + expect(sum(-1, -2, -3)).toBe(-6); + expect(sum(5, -10)).toBe(-5); + }); + + test("부동소수점을 올바르게 처리한다", () => { + expect(sum(0.1, 0.2)).toBeCloseTo(0.3); + }); -test("5 + 10 + 15는 30이다.", () => { - expect(sum(5, 10, 15)).toBe(30); + test("인수 중 NaN이 포함되면 NaN을 반환한다", () => { + expect(sum(1, 2, NaN, 4)).toBeNaN(); + }); + }); }); diff --git a/vitest-report.xml b/vitest-report.xml index ae68f62..ef7f3f4 100644 --- a/vitest-report.xml +++ b/vitest-report.xml @@ -1,157 +1,205 @@ - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - - + + - - - + - - - + - - - + + + + + + + + + + + - - + + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + + + - - + + - + + + - - + + - + + + - - + + + + + + + + - + - - + + - + - + + + - + - - + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + - + - + - + - + - +