@@ -777,8 +777,27 @@ def test_parse_date():
777777 assert dates .parse_date ('01.04.2004' , locale = 'de_DE' ) == date (2004 , 4 , 1 )
778778
779779
780- def test_parse_time ():
781- assert dates .parse_time ('15:30:00' , locale = 'en_US' ) == time (15 , 30 )
780+ @pytest .mark .parametrize ('input, expected' , [
781+ # base case, fully qualified time
782+ ('15:30:00' , time (15 , 30 )),
783+ # test digits
784+ ('15:30' , time (15 , 30 )),
785+ ('3:30' , time (3 , 30 )),
786+ ('00:30' , time (0 , 30 )),
787+ # test am parsing
788+ ('03:30 am' , time (3 , 30 )),
789+ ('3:30:21 am' , time (3 , 30 , 21 )),
790+ ('3:30 am' , time (3 , 30 )),
791+ # test pm parsing
792+ ('03:30 pm' , time (15 , 30 )),
793+ ('03:30 pM' , time (15 , 30 )),
794+ ('03:30 Pm' , time (15 , 30 )),
795+ ('03:30 PM' , time (15 , 30 )),
796+ # test hour-only parsing
797+ ('4 pm' , time (16 , 0 )),
798+ ])
799+ def test_parse_time (input , expected ):
800+ assert dates .parse_time (input , locale = 'en_US' ) == expected
782801
783802
784803def test_datetime_format_get_week_number ():
0 commit comments