@@ -18,3 +18,38 @@ test("should append 'st' for numbers ending with 1, except those ending with 11"
1818 expect ( getOrdinalNumber ( 21 ) ) . toEqual ( "21st" ) ;
1919 expect ( getOrdinalNumber ( 131 ) ) . toEqual ( "131st" ) ;
2020} ) ;
21+
22+ //fixed and completed version
23+
24+ const getOrdinalNumber = require ( "./get-ordinal-number" ) ;
25+
26+ // st cases (except 11)
27+ test ( "should return 'st' for numbers ending in 1 except 11" , ( ) => {
28+ expect ( getOrdinalNumber ( 1 ) ) . toEqual ( "1st" ) ;
29+ expect ( getOrdinalNumber ( 21 ) ) . toEqual ( "21st" ) ;
30+ expect ( getOrdinalNumber ( 31 ) ) . toEqual ( "31st" ) ;
31+ } ) ;
32+
33+ // nd cases (except 12)
34+ test ( "should return 'nd' for numbers ending in 2 except 12" , ( ) => {
35+ expect ( getOrdinalNumber ( 2 ) ) . toEqual ( "2nd" ) ;
36+ expect ( getOrdinalNumber ( 22 ) ) . toEqual ( "22nd" ) ;
37+ expect ( getOrdinalNumber ( 32 ) ) . toEqual ( "32nd" ) ;
38+ } ) ;
39+
40+ // rd cases (except 13)
41+ test ( "should return 'rd' for numbers ending in 3 except 13" , ( ) => {
42+ expect ( getOrdinalNumber ( 3 ) ) . toEqual ( "3rd" ) ;
43+ expect ( getOrdinalNumber ( 23 ) ) . toEqual ( "23rd" ) ;
44+ expect ( getOrdinalNumber ( 33 ) ) . toEqual ( "33rd" ) ;
45+ } ) ;
46+
47+ // th cases (everything else)
48+ test ( "should return 'th' for numbers ending in 4-9 and special teens (11-13)" , ( ) => {
49+ expect ( getOrdinalNumber ( 4 ) ) . toEqual ( "4th" ) ;
50+ expect ( getOrdinalNumber ( 11 ) ) . toEqual ( "11th" ) ;
51+ expect ( getOrdinalNumber ( 12 ) ) . toEqual ( "12th" ) ;
52+ expect ( getOrdinalNumber ( 13 ) ) . toEqual ( "13th" ) ;
53+ expect ( getOrdinalNumber ( 14 ) ) . toEqual ( "14th" ) ;
54+ expect ( getOrdinalNumber ( 100 ) ) . toEqual ( "100th" ) ;
55+ } ) ;
0 commit comments