33import unittest
44import datetime
55import itertools
6- from pycaching .util import rot13 , parse_date , get_possible_attributes
6+ from pycaching .util import rot13 , parse_date , format_date , get_possible_attributes
77
88
99class TestModule (unittest .TestCase ):
@@ -12,8 +12,8 @@ def test_rot13(self):
1212 self .assertEqual (rot13 ("Text" ), "Grkg" )
1313 self .assertEqual (rot13 ("abc'ř" ), "nop'ř" )
1414
15- def test_date_parsing (self ):
16- dates = ( datetime .date (2014 , 1 , 30 ), datetime .date (2000 , 1 , 1 ), datetime .date (2020 , 12 , 13 ) )
15+ def test_parse_date (self ):
16+ dates = datetime .date (2014 , 1 , 30 ), datetime .date (2000 , 1 , 1 ), datetime .date (2020 , 12 , 13 )
1717 patterns = ("%Y-%m-%d" , "%Y/%m/%d" , "%m/%d/%Y" , "%d/%m/%Y" ,
1818 "%d.%m.%Y" , "%d/%b/%Y" , "%d.%b.%Y" , "%b/%d/%Y" , "%d %b %y" )
1919
@@ -22,6 +22,35 @@ def test_date_parsing(self):
2222 formatted_date = datetime .datetime .strftime (date , pattern )
2323 self .assertEqual (date , parse_date (formatted_date ))
2424
25+ def test_format_date (self ):
26+ date = datetime .date (2015 , 1 , 30 )
27+ cases = {
28+ "d. M. yyyy" : "30. 1. 2015" ,
29+ "d.M.yyyy" : "30.1.2015" ,
30+ "d.MM.yyyy" : "30.01.2015" ,
31+ "d/M/yy" : "30/1/15" ,
32+ "d/M/yyyy" : "30/1/2015" ,
33+ "d/MM/yyyy" : "30/01/2015" ,
34+ "dd MMM yy" : "30 Jan 15" ,
35+ "dd.MM.yyyy" : "30.01.2015" ,
36+ "dd.MM.yyyy." : "30.01.2015." ,
37+ "dd.MMM.yyyy" : "30.Jan.2015" ,
38+ "dd/MM/yy" : "30/01/15" ,
39+ "dd/MM/yyyy" : "30/01/2015" ,
40+ "dd/MMM/yyyy" : "30/Jan/2015" ,
41+ "dd-MM-yy" : "30-01-15" ,
42+ "dd-MM-yyyy" : "30-01-2015" ,
43+ "d-M-yyyy" : "30-1-2015" ,
44+ "M/d/yyyy" : "1/30/2015" ,
45+ "MM/dd/yyyy" : "01/30/2015" ,
46+ "MMM/dd/yyyy" : "Jan/30/2015" ,
47+ "yyyy.MM.dd." : "2015.01.30." ,
48+ "yyyy/MM/dd" : "2015/01/30" ,
49+ "yyyy-MM-dd" : "2015-01-30" ,
50+ }
51+ for user_format , ref_result in cases .items ():
52+ self .assertEqual (format_date (date , user_format ), ref_result )
53+
2554 def test_get_possible_attributes (self ):
2655 attributes = get_possible_attributes ()
2756
0 commit comments