1+ /**
12const getOrdinalNumber = require("./get-ordinal-number");
23// In this week's prep, we started implementing getOrdinalNumber.
34
@@ -18,3 +19,66 @@ test("should append 'st' for numbers ending with 1, except those ending with 11"
1819 expect(getOrdinalNumber(21)).toEqual("21st");
1920 expect(getOrdinalNumber(131)).toEqual("131st");
2021});
22+ *
23+ */
24+
25+ const getOrdinalNumber = require ( "./get-ordinal-number" ) ;
26+
27+ test ( "should append 'st' for numbers ending with 1, except those ending with 11" , ( ) => {
28+ expect ( getOrdinalNumber ( 1 ) ) . toEqual ( "1st" ) ;
29+ expect ( getOrdinalNumber ( 21 ) ) . toEqual ( "21st" ) ;
30+ expect ( getOrdinalNumber ( 131 ) ) . toEqual ( "131st" ) ;
31+ } ) ;
32+
33+ test ( "should append 'nd' for numbers ending with 2, except those ending with 12" , ( ) => {
34+ expect ( getOrdinalNumber ( 2 ) ) . toEqual ( "2nd" ) ;
35+ expect ( getOrdinalNumber ( 22 ) ) . toEqual ( "22nd" ) ;
36+ expect ( getOrdinalNumber ( 132 ) ) . toEqual ( "132nd" ) ;
37+ } ) ;
38+
39+ test ( "should append 'rd' for numbers ending with 3, except those ending with 13" , ( ) => {
40+ expect ( getOrdinalNumber ( 3 ) ) . toEqual ( "3rd" ) ;
41+ expect ( getOrdinalNumber ( 23 ) ) . toEqual ( "23rd" ) ;
42+ expect ( getOrdinalNumber ( 133 ) ) . toEqual ( "133rd" ) ;
43+ } ) ;
44+
45+ test ( "should append 'th' for numbers ending with 11, 12, or 13" , ( ) => {
46+ expect ( getOrdinalNumber ( 11 ) ) . toEqual ( "11th" ) ;
47+ expect ( getOrdinalNumber ( 12 ) ) . toEqual ( "12th" ) ;
48+ expect ( getOrdinalNumber ( 13 ) ) . toEqual ( "13th" ) ;
49+ expect ( getOrdinalNumber ( 111 ) ) . toEqual ( "111th" ) ;
50+ expect ( getOrdinalNumber ( 112 ) ) . toEqual ( "112th" ) ;
51+ expect ( getOrdinalNumber ( 113 ) ) . toEqual ( "113th" ) ;
52+ } ) ;
53+
54+ test ( "should append 'th' for all other numbers" , ( ) => {
55+ expect ( getOrdinalNumber ( 4 ) ) . toEqual ( "4th" ) ;
56+ expect ( getOrdinalNumber ( 5 ) ) . toEqual ( "5th" ) ;
57+ expect ( getOrdinalNumber ( 6 ) ) . toEqual ( "6th" ) ;
58+ expect ( getOrdinalNumber ( 7 ) ) . toEqual ( "7th" ) ;
59+ expect ( getOrdinalNumber ( 8 ) ) . toEqual ( "8th" ) ;
60+ expect ( getOrdinalNumber ( 9 ) ) . toEqual ( "9th" ) ;
61+ expect ( getOrdinalNumber ( 10 ) ) . toEqual ( "10th" ) ;
62+ expect ( getOrdinalNumber ( 14 ) ) . toEqual ( "14th" ) ;
63+ expect ( getOrdinalNumber ( 20 ) ) . toEqual ( "20th" ) ;
64+ expect ( getOrdinalNumber ( 24 ) ) . toEqual ( "24th" ) ;
65+ expect ( getOrdinalNumber ( 30 ) ) . toEqual ( "30th" ) ;
66+ expect ( getOrdinalNumber ( 100 ) ) . toEqual ( "100th" ) ;
67+ expect ( getOrdinalNumber ( 114 ) ) . toEqual ( "114th" ) ;
68+ } ) ;
69+
70+ test ( "should handle negative numbers correctly" , ( ) => {
71+ expect ( getOrdinalNumber ( - 1 ) ) . toEqual ( "-1st" ) ;
72+ expect ( getOrdinalNumber ( - 2 ) ) . toEqual ( "-2nd" ) ;
73+ expect ( getOrdinalNumber ( - 3 ) ) . toEqual ( "-3rd" ) ;
74+ expect ( getOrdinalNumber ( - 4 ) ) . toEqual ( "-4th" ) ;
75+ expect ( getOrdinalNumber ( - 11 ) ) . toEqual ( "-11th" ) ;
76+ expect ( getOrdinalNumber ( - 12 ) ) . toEqual ( "-12th" ) ;
77+ expect ( getOrdinalNumber ( - 13 ) ) . toEqual ( "-13th" ) ;
78+ expect ( getOrdinalNumber ( - 21 ) ) . toEqual ( "-21st" ) ;
79+ } ) ;
80+
81+ test ( "should handle zero correctly" , ( ) => {
82+ expect ( getOrdinalNumber ( 0 ) ) . toEqual ( "0th" ) ;
83+ } ) ;
84+
0 commit comments