Skip to content

Commit 25b1868

Browse files
committed
test cases recategorising
1 parent f06c4f9 commit 25b1868

File tree

1 file changed

+34
-51
lines changed

1 file changed

+34
-51
lines changed

Sprint-3/2-practice-tdd/get-ordinal-number.test.js

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -8,68 +8,51 @@ const getOrdinalNumber = require("./get-ordinal-number");
88
// When the number is 1,
99
// Then the function should return "1st"
1010

11-
test("should return '1st' for 1", () => {
11+
test("Numbers that end with `st`", () => {
1212
expect(getOrdinalNumber(1)).toEqual("1st");
1313
expect(getOrdinalNumber(21)).toEqual("21st");
1414
expect(getOrdinalNumber(101)).toEqual("101st");
15+
expect(getOrdinalNumber(28491)).toEqual("28491st");
1516
});
1617

17-
// Case 2: Identify the ordinal number for 1
18-
// except those ending in 12
19-
test("append 'nd' to numbers ending in 2, except those ending in 12", () => {
20-
expect( getOrdinalNumber(2) ).toEqual("2nd");
21-
expect( getOrdinalNumber(22) ).toEqual("22nd");
22-
expect( getOrdinalNumber(132) ).toEqual("132nd");
18+
// Case 2: "Numbers that end with `nd`
19+
test("Numbers that end with `nd`", () => {
20+
expect(getOrdinalNumber(2)).toEqual("2nd");
21+
expect(getOrdinalNumber(32)).toEqual("32nd");
22+
expect(getOrdinalNumber(202)).toEqual("202nd");
23+
expect(getOrdinalNumber(4502)).toEqual("4502nd");
24+
}
25+
26+
// Case 3:: "Numbers that end with `rd`
27+
);
28+
29+
test("Numbers that end with `rd`", () => {
30+
expect(getOrdinalNumber(3)).toEqual("3rd");
31+
expect(getOrdinalNumber(43)).toEqual("43rd");
32+
expect(getOrdinalNumber(123)).toEqual("123rd");
33+
expect(getOrdinalNumber(6703)).toEqual("6703rd");
2334
});
2435

25-
// Case 3: Identify the ordinal numbers for 3 to 12
26-
test("should return correct ordinal suffixes for numbers 3 to 12", () => {
27-
expect( getOrdinalNumber(3) ).toEqual("3rd");
28-
expect( getOrdinalNumber(4) ).toEqual("4th");
29-
expect( getOrdinalNumber(5) ).toEqual("5th");
30-
expect( getOrdinalNumber(6) ).toEqual("6th");
31-
expect( getOrdinalNumber(7) ).toEqual("7th");
32-
expect( getOrdinalNumber(8) ).toEqual("8th");
33-
expect( getOrdinalNumber(9) ).toEqual("9th");
34-
expect( getOrdinalNumber(10) ).toEqual("10th");
35-
expect( getOrdinalNumber(11) ).toEqual("11th");
36-
expect( getOrdinalNumber(12) ).toEqual("12th");
37-
});
38-
// Case 4: Identify the ordinal numbers for numbers above 12
39-
test("should return correct ordinal suffixes for numbers above 12", () => {
40-
expect( getOrdinalNumber(13) ).toEqual("13th");
41-
expect( getOrdinalNumber(19) ).toEqual("19th");
42-
expect( getOrdinalNumber(23) ).toEqual("23rd");
43-
expect( getOrdinalNumber(34) ).toEqual("34th");
44-
expect( getOrdinalNumber(45) ).toEqual("45th");
45-
expect( getOrdinalNumber(56) ).toEqual("56th");
46-
expect( getOrdinalNumber(67) ).toEqual("67th");
47-
});
48-
49-
// Case 5: Identify the ordinal numbers for numbers like 20 30 40 etc
50-
test("should return correct ordinal suffixes for multiples of ten", () => {
51-
expect( getOrdinalNumber(20) ).toEqual("20th");
52-
expect( getOrdinalNumber(30) ).toEqual("30th");
53-
expect( getOrdinalNumber(70) ).toEqual("70th");
54-
expect( getOrdinalNumber(50) ).toEqual("50th");
36+
// Case 4: "Numbers that end with `th`
37+
test("Numbers that end with `th`", () => {
38+
expect(getOrdinalNumber(4)).toEqual("4th");
39+
expect(getOrdinalNumber(11)).toEqual("11th");
40+
expect(getOrdinalNumber(25)).toEqual("25th");
41+
expect(getOrdinalNumber(1124)).toEqual("1124th");
42+
expect(getOrdinalNumber(9999)).toEqual("9999th");
5543
});
5644

57-
// Case 6: dealing with big numbers
58-
test("should return correct ordinal suffixes for big numbers", () => {
59-
expect( getOrdinalNumber(111) ).toEqual("111th");
60-
expect( getOrdinalNumber(4712) ).toEqual("4712th");
61-
expect( getOrdinalNumber(10003) ).toEqual("10003rd");
62-
expect( getOrdinalNumber(10012) ).toEqual("10012th");
45+
// Case 5: "Numbers that are exceptions (11, 12, 13)
46+
test("Numbers that are exceptions (11, 12, 13)", () => {
47+
expect(getOrdinalNumber(11)).toEqual("11th");
48+
expect(getOrdinalNumber(12)).toEqual("12th");
49+
expect(getOrdinalNumber(13)).toEqual("13th");
50+
expect(getOrdinalNumber(111)).toEqual("111th");
51+
expect(getOrdinalNumber(112)).toEqual("112th");
52+
expect(getOrdinalNumber(113)).toEqual("113th");
6353
});
6454

65-
66-
// Case 6: dealing with invalid inputs
67-
// test("should return error message", () => {
68-
// expect( getOrdinalNumber(NaN) ).toEqual("Input must be a positive integer.");
69-
// expect( getOrdinalNumber(Infinity) ).toEqual("Input must be a positive integer.");
70-
// expect( getOrdinalNumber("hello") ).toEqual("Input must be a positive integer.");
71-
// expect( getOrdinalNumber([0, 3]) ).toEqual("Input must be a positive integer.");
72-
// });
55+
// Case 6: "Non-positive integers (NaN, Infinity, non-integers)
7356

7457
test("should throw an error stating that input must be a positive integer", () => {
7558
expect(() => getOrdinalNumber(NaN)).toThrow("Input must be a positive integer.");

0 commit comments

Comments
 (0)