Skip to content

Commit f06c4f9

Browse files
committed
changed condition rule in function getOrdinalNumber() and added new test cases and added throw error
1 parent f55b3a2 commit f06c4f9

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
function getOrdinalNumber(num) {
2-
if (typeof num !== "number" || num <= 0) {
3-
return "Input must be a positive integer.";
2+
if (!Number.isInteger(num) || num <= 0) {
3+
throw new Error("Input must be a positive integer.");
44
}
55

66
const lastTwoDigits = num % 100;
@@ -23,5 +23,5 @@ function getOrdinalNumber(num) {
2323
return num;
2424
}
2525

26-
console.log(getOrdinalNumber(21)); // "1st"
26+
//console.log(getOrdinalNumber(21)); // "1st"
2727
module.exports = getOrdinalNumber;

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,20 @@ test("should return correct ordinal suffixes for big numbers", () => {
6060
expect( getOrdinalNumber(4712) ).toEqual("4712th");
6161
expect( getOrdinalNumber(10003) ).toEqual("10003rd");
6262
expect( getOrdinalNumber(10012) ).toEqual("10012th");
63+
});
64+
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+
// });
73+
74+
test("should throw an error stating that input must be a positive integer", () => {
75+
expect(() => getOrdinalNumber(NaN)).toThrow("Input must be a positive integer.");
76+
expect(() => getOrdinalNumber(Infinity)).toThrow("Input must be a positive integer.");
77+
expect(() => getOrdinalNumber("hello")).toThrow("Input must be a positive integer.");
78+
expect(() => getOrdinalNumber([0, 1, 2])).toThrow("Input must be a positive integer.");
6379
});

0 commit comments

Comments
 (0)