Package parsedatetime :: Package tests :: Module TestGermanLocale
[hide private]
[frames] | no frames]

Source Code for Module parsedatetime.tests.TestGermanLocale

 1   
 2  """ 
 3  Test parsing of simple date and times using the German locale 
 4  """ 
 5   
 6  import unittest, time, datetime 
 7  import parsedatetime as pdt 
8 9 10 -class test(unittest.TestCase):
11 12 @pdt.tests.assertEqualWithComparator
13 - def assertExpectedResult(self, result, check, **kwargs):
14 return pdt.tests.compareResultByTimeTuplesAndFlags(result, check, **kwargs)
15
16 - def setUp(self):
17 self.ptc = pdt.Constants('de_DE', usePyICU=False) 18 self.cal = pdt.Calendar(self.ptc) 19 20 self.yr, self.mth, self.dy, self.hr, self.mn, self.sec, self.wd, self.yd, self.isdst = time.localtime() 21 22 if self.ptc.localeID != 'de_DE': 23 raise unittest.SkipTest('Locale not set to de_DE - check if PyICU is installed')
24
25 - def testTimes(self):
26 start = datetime.datetime(self.yr, self.mth, self.dy, self.hr, self.mn, self.sec).timetuple() 27 target = datetime.datetime(self.yr, self.mth, self.dy, 23, 0, 0).timetuple() 28 29 self.assertExpectedResult(self.cal.parse('23:00:00', start), (target, 2)) 30 self.assertExpectedResult(self.cal.parse('23:00', start), (target, 2)) 31 self.assertExpectedResult(self.cal.parse('2300', start), (target, 2)) 32 33 target = datetime.datetime(self.yr, self.mth, self.dy, 11, 0, 0).timetuple() 34 35 self.assertExpectedResult(self.cal.parse('11:00:00', start), (target, 2)) 36 self.assertExpectedResult(self.cal.parse('11:00', start), (target, 2)) 37 self.assertExpectedResult(self.cal.parse('1100', start), (target, 2)) 38 39 target = datetime.datetime(self.yr, self.mth, self.dy, 7, 30, 0).timetuple() 40 41 self.assertExpectedResult(self.cal.parse('730', start), (target, 2)) 42 self.assertExpectedResult(self.cal.parse('0730', start), (target, 2)) 43 44 target = datetime.datetime(self.yr, self.mth, self.dy, 17, 30, 0).timetuple() 45 46 self.assertExpectedResult(self.cal.parse('1730', start), (target, 2)) 47 self.assertExpectedResult(self.cal.parse('173000', start), (target, 2))
48
49 - def testDates(self):
50 start = datetime.datetime(self.yr, self.mth, self.dy, self.hr, self.mn, self.sec).timetuple() 51 target = datetime.datetime(2006, 8, 25, self.hr, self.mn, self.sec).timetuple() 52 53 self.assertExpectedResult(self.cal.parse('25.08.2006', start), (target, 1)) 54 self.assertExpectedResult(self.cal.parse('25.8.06', start), (target, 1)) 55 56 if self.mth > 8 or (self.mth == 8 and self.dy > 25): 57 target = datetime.datetime(self.yr+1, 8, 25, self.hr, self.mn, self.sec).timetuple() 58 else: 59 target = datetime.datetime(self.yr, 8, 25, self.hr, self.mn, self.sec).timetuple() 60 61 self.assertExpectedResult(self.cal.parse('25.8', start), (target, 1)) 62 self.assertExpectedResult(self.cal.parse('25.08', start), (target, 1))
63 64 65 if __name__ == "__main__": 66 unittest.main() 67