-
-
Notifications
You must be signed in to change notification settings - Fork 267
Birmingham | 25-ITP-Sep | Joy Opachavalit | Sprint 3 | coursework/sprint-3 #775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 6 commits
97d02c7
bf6c370
1a47995
3be3bfb
a7b7c2f
e110722
716f047
138843b
4879aaa
d34d343
4d61885
989855e
56625ec
47e385f
45dc764
00e6c6d
35b6637
eb1d90f
2f42a85
6db1bca
8f61c0f
0e834a6
f14ec50
24bc0d7
338eadc
36e1138
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,110 +1,45 @@ | ||
| const getOrdinalNumber = require("./get-ordinal-number"); | ||
| // In this week's prep, we started implementing getOrdinalNumber | ||
|
|
||
| // continue testing and implementing getOrdinalNumber for additional cases | ||
| // Write your tests using Jest - remember to run your tests often for continual feedback | ||
| const getOrdinalNumber = require("./get-ordinal-number"); | ||
|
|
||
| // Case 1: Identify the ordinal number for 1 | ||
| // When the number is 1, | ||
| // Then the function should return "1st" | ||
| // To ensure thorough testing, we need broad scenario coverage. Listing individual values, however, can quickly lead to an unmanageable number of test cases. | ||
| // Instead of writing tests for individual numbers, we group all possible input values into meaningful categories and select representative samples from each category to test. This approach improves coverage and makes our tests easier to maintain. | ||
|
|
||
| test("should return '1st' for 1", () => { | ||
| // Numbers ending in 1 (except those ending in 11): should append 'st' | ||
| test("append 'st' to numbers ending in 1, except those ending in 11", () => { | ||
| expect(getOrdinalNumber(1)).toEqual("1st"); | ||
| expect(getOrdinalNumber(21)).toEqual("21st"); | ||
| expect(getOrdinalNumber(101)).toEqual("101st"); | ||
| }); | ||
|
|
||
| // Case 2: Identify the ordinal number for 2 | ||
| // When the number is 2, | ||
| // Then the function should return "2nd" | ||
|
|
||
| test("should return '2nd' for 2", () => { | ||
| // Numbers ending in 2 (except those ending in 12): should append 'nd' | ||
| test("append 'nd' to numbers ending in 2, except those ending in 12", () => { | ||
| expect(getOrdinalNumber(2)).toEqual("2nd"); | ||
| expect(getOrdinalNumber(22)).toEqual("22nd"); | ||
| expect(getOrdinalNumber(132)).toEqual("132nd"); | ||
| }); | ||
|
|
||
| // Case 3: Identify the ordinal number for 3 | ||
| // When the number is 3, | ||
| // Then the function should return "3rd" | ||
|
|
||
| test("should return '3rd' for 3", () => { | ||
| // Numbers ending in 3 (except those ending in 13): should append 'rd' | ||
| test("append 'rd' to numbers ending in 3, except those ending in 13", () => { | ||
| expect(getOrdinalNumber(3)).toEqual("3rd"); | ||
| expect(getOrdinalNumber(23)).toEqual("23rd"); | ||
| expect(getOrdinalNumber(103)).toEqual("103rd"); | ||
| }); | ||
|
|
||
| // Case 4: Identify the ordinal number for 4 | ||
| // When the number is 4, | ||
| // Then the function should return "4th" | ||
|
|
||
| test("should return '4th' for 4", () => { | ||
| expect(getOrdinalNumber(4)).toEqual("4th"); | ||
| }); | ||
|
|
||
| // Case 5: Identify the ordinal number for 11 | ||
| // When the number is 11, | ||
| // Then the function should return "11th" | ||
|
|
||
| test("should return '11th' for 11", () => { | ||
| // Numbers ending in 11, 12, 13: should append 'th' | ||
| test("append 'th' to numbers ending in 11, 12, 13", () => { | ||
| expect(getOrdinalNumber(11)).toEqual("11th"); | ||
| }); | ||
|
|
||
| // Case 6: Identify the ordinal number for 12 | ||
| // When the number is 12, | ||
| // Then the function should return "12th" | ||
|
|
||
| test("should return '12th' for 12", () => { | ||
| expect(getOrdinalNumber(12)).toEqual("12th"); | ||
| }); | ||
|
|
||
| // Case 7: Identify the ordinal number for 13 | ||
| // When the number is 13, | ||
| // Then the function should return "13th" | ||
|
|
||
| test("should return '13th' for 13", () => { | ||
| expect(getOrdinalNumber(13)).toEqual("13th"); | ||
| }); | ||
|
|
||
| // Case 8: Identify the ordinal number for 21 | ||
| // When the number is 21, | ||
| // Then the function should return "21st" | ||
|
|
||
| test("should return '21st' for 21", () => { | ||
| expect(getOrdinalNumber(21)).toEqual("21st"); | ||
| }); | ||
|
|
||
| // Case 9: Identify the ordinal number for 22 | ||
| // When the number is 22, | ||
| // Then the function should return "22nd" | ||
|
|
||
| test("should return '22nd' for 22", () => { | ||
| expect(getOrdinalNumber(22)).toEqual("22nd"); | ||
| }); | ||
|
|
||
| // Case 10: Identify the ordinal number for 23 | ||
| // When the number is 23, | ||
| // Then the function should return "23rd" | ||
|
|
||
| test("should return '23rd' for 23", () => { | ||
| expect(getOrdinalNumber(23)).toEqual("23rd"); | ||
| }); | ||
|
|
||
| // Case 11: Identify the ordinal number for 101 | ||
| // When the number is 101, | ||
| // Then the function should return "101st" | ||
|
|
||
| test("should return '101st' for 101", () => { | ||
| expect(getOrdinalNumber(101)).toEqual("101st"); | ||
| }); | ||
|
|
||
| // Case 12: Identify the ordinal number for 111 | ||
| // When the number is 111, | ||
| // Then the function should return "111th" | ||
|
|
||
| test("should return '111th' for 111", () => { | ||
| expect(getOrdinalNumber(111)).toEqual("111th"); | ||
| expect(getOrdinalNumber(112)).toEqual("112th"); | ||
| expect(getOrdinalNumber(113)).toEqual("113th"); | ||
| }); | ||
|
|
||
| // Case 13: Identify the ordinal number for 0 | ||
| // When the number is 0, | ||
| // Then the function should return "0th" | ||
|
|
||
| test("should return '0th' for 0", () => { | ||
| // All other numbers: should append 'th' | ||
| test("append 'th' to all other numbers", () => { | ||
| expect(getOrdinalNumber(4)).toEqual("4th"); | ||
| expect(getOrdinalNumber(10)).toEqual("10th"); | ||
| expect(getOrdinalNumber(14)).toEqual("14th"); | ||
| expect(getOrdinalNumber(0)).toEqual("0th"); | ||
| }); | ||
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.