Skip to content

Commit 8c1b681

Browse files
committed
test(susa): imporved susa, seosusa test code
1 parent d6651ff commit 8c1b681

File tree

2 files changed

+34
-22
lines changed

2 files changed

+34
-22
lines changed

src/number/seosusa/seosusa.spec.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,22 @@ describe('seosusa', () => {
2929
{ num: 101, word: '백일째' },
3030
];
3131

32-
const invalidNumbers = [0, -1, 1.1, -1.1, Infinity, -Infinity, NaN];
32+
const invalidNumbers = [
33+
{ num: 0 },
34+
{ num: -1 },
35+
{ num: 1.1 },
36+
{ num: -1.1 },
37+
{ num: Infinity },
38+
{ num: -Infinity },
39+
{ num: NaN },
40+
];
3341

34-
validNumbers.forEach(({ num, word }) => {
35-
it(`${num} - 순 우리말 서수사로 변환한다.`, () => {
36-
expect(seosusa(num)).toBe(word);
37-
});
42+
it.each(validNumbers)('$num - 순 우리말 서수사로 변환한다.', ({ num, word }) => {
43+
expect(seosusa(num)).toBe(word);
3844
});
3945

40-
invalidNumbers.forEach(num => {
41-
it(`${num} - 유효하지 않은 숫자에 대해 오류를 발생시켜야 한다.`, () => {
42-
expect(() => seosusa(num)).toThrow('유효하지 않은 입력입니다. 1이상의 정수만 지원합니다.');
43-
});
46+
it.each(invalidNumbers)('$num - 유효하지 않은 숫자에 대해 오류를 발생시켜야 한다.', ({ num }) => {
47+
expect(() => seosusa(num)).toThrow('유효하지 않은 입력입니다. 1이상의 정수만 지원합니다.');
4448
});
4549

4650
describe('에러 처리', () => {

src/number/susa/susa.spec.ts

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,30 @@ describe('susa', () => {
2121
{ num: 100, word: '백', classifier: '백' },
2222
];
2323

24-
const invalidNumbers = [0, -1, 101, 1.1, -1.1, Infinity, -Infinity, NaN];
24+
const invalidNumbers = [
25+
{ num: 0 },
26+
{ num: -1 },
27+
{ num: 101 },
28+
{ num: 1.1 },
29+
{ num: -1.1 },
30+
{ num: Infinity },
31+
{ num: -Infinity },
32+
{ num: NaN },
33+
];
2534

26-
validNumbers.forEach(({ num, word, classifier }) => {
27-
it(`${num} - 순 우리말 수사로 바꿔 반환해야 한다.`, () => {
28-
expect(susa(num, false)).toBe(word);
29-
});
35+
it.each(validNumbers)('$num - 순 우리말 수사로 바꿔 반환해야 한다.', ({ num, word }) => {
36+
expect(susa(num, false)).toBe(word);
37+
});
3038

31-
it(`${num} - 순 우리말 수 관형사가 있다면 수 관형사로 없다면 수사로 반환해야 한다.`, () => {
39+
it.each(validNumbers)(
40+
'$num - 순 우리말 수 관형사가 있다면 수 관형사로 없다면 수사로 반환해야 한다.',
41+
({ num, classifier }) => {
3242
expect(susa(num, true)).toBe(classifier);
33-
});
34-
});
43+
}
44+
);
3545

36-
invalidNumbers.forEach(num => {
37-
it(`유효하지 않은 숫자 ${num}에 대해 오류를 발생시켜야 한다.`, () => {
38-
expect(() => susa(num, false)).toThrow('지원하지 않는 숫자입니다.');
39-
expect(() => susa(num, true)).toThrow('지원하지 않는 숫자입니다.');
40-
});
46+
it.each(invalidNumbers)('$num - 유효하지 않은 숫자에 대해 오류를 발생시켜야 한다.', ({ num }) => {
47+
expect(() => susa(num, false)).toThrow('지원하지 않는 숫자입니다.');
48+
expect(() => susa(num, true)).toThrow('지원하지 않는 숫자입니다.');
4149
});
4250
});

0 commit comments

Comments
 (0)