@@ -17,17 +17,36 @@ test("append 'st' to numbers ending in 1, except those ending in 11", () => {
1717test ( "appends 'nd' to numbers ending in 2, except those ending in 12" , ( ) => {
1818 expect ( getOrdinalNumber ( 2 ) ) . toEqual ( "2nd" ) ;
1919 expect ( getOrdinalNumber ( 22 ) ) . toEqual ( "22nd" ) ;
20- expect ( getOrdinalNumber ( 112 ) ) . toEqual ( "112th" ) ; // special case
2120} ) ;
2221
2322test ( "appends 'rd' to numbers ending in 3, except those ending in 13" , ( ) => {
2423 expect ( getOrdinalNumber ( 3 ) ) . toEqual ( "3rd" ) ;
2524 expect ( getOrdinalNumber ( 23 ) ) . toEqual ( "23rd" ) ;
26- expect ( getOrdinalNumber ( 113 ) ) . toEqual ( "113th" ) ; // special case
2725} ) ;
2826
29- test ( "appends 'th' to numbers ending in 11, 12, or 13" , ( ) => {
27+ test ( "appends 'th' to numbers ending in 11, 12, or 13 and all others not ending in 1, 2, or 3 " , ( ) => {
3028 expect ( getOrdinalNumber ( 11 ) ) . toEqual ( "11th" ) ;
3129 expect ( getOrdinalNumber ( 12 ) ) . toEqual ( "12th" ) ;
3230 expect ( getOrdinalNumber ( 13 ) ) . toEqual ( "13th" ) ;
31+ expect ( getOrdinalNumber ( 111 ) ) . toEqual ( "111th" ) ;
32+ expect ( getOrdinalNumber ( 112 ) ) . toEqual ( "112th" ) ;
33+ expect ( getOrdinalNumber ( 113 ) ) . toEqual ( "113th" ) ;
34+
35+ //general `th` cases
36+
37+ expect ( getOrdinalNumber ( 0 ) ) . toEqual ( "0th" ) ;
38+ expect ( getOrdinalNumber ( 4 ) ) . toEqual ( "4th" ) ;
39+ expect ( getOrdinalNumber ( 10 ) ) . toEqual ( "10th" ) ;
40+ expect ( getOrdinalNumber ( 24 ) ) . toEqual ( "24th" ) ;
41+ expect ( getOrdinalNumber ( 100 ) ) . toEqual ( "100th" ) ;
42+ expect ( getOrdinalNumber ( 104 ) ) . toEqual ( "104th" ) ;
43+ } ) ;
44+
45+ test ( "handles edge cases for higher numbers" , ( ) => {
46+ expect ( getOrdinalNumber ( 1011 ) ) . toEqual ( "1011th" ) ;
47+ expect ( getOrdinalNumber ( 1012 ) ) . toEqual ( "1012th" ) ;
48+ expect ( getOrdinalNumber ( 1013 ) ) . toEqual ( "1013th" ) ;
49+ expect ( getOrdinalNumber ( 1021 ) ) . toEqual ( "1021st" ) ;
50+ expect ( getOrdinalNumber ( 1022 ) ) . toEqual ( "1022nd" ) ;
51+ expect ( getOrdinalNumber ( 1023 ) ) . toEqual ( "1023rd" ) ;
3352} ) ;
0 commit comments