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

Source Code for Module parsedatetime.tests.TestUnits

  1   
  2  """ 
  3  Test parsing of units 
  4  """ 
  5   
  6  import unittest, time, datetime 
  7  import parsedatetime as pdt 
  8   
  9   
 10    # a special compare function is used to allow us to ignore the seconds as 
 11    # the running of the test could cross a minute boundary 
12 -def _compareResults(result, check):
13 target, t_flag = result 14 value, v_flag = check 15 16 t_yr, t_mth, t_dy, t_hr, t_min, _, _, _, _ = target 17 v_yr, v_mth, v_dy, v_hr, v_min, _, _, _, _ = value 18 19 return ((t_yr == v_yr) and (t_mth == v_mth) and (t_dy == v_dy) and 20 (t_hr == v_hr) and (t_min == v_min)) and (t_flag == v_flag)
21 22
23 -class test(unittest.TestCase):
24
25 - def setUp(self):
26 self.cal = pdt.Calendar() 27 self.yr, self.mth, self.dy, self.hr, self.mn, self.sec, self.wd, self.yd, self.isdst = time.localtime()
28
29 - def testMinutes(self):
30 s = datetime.datetime.now() 31 t = s + datetime.timedelta(minutes=1) 32 33 start = s.timetuple() 34 target = t.timetuple() 35 36 self.assertTrue(_compareResults(self.cal.parse('1 minute', start), (target, 2))) 37 self.assertTrue(_compareResults(self.cal.parse('1 minutes', start), (target, 2))) 38 self.assertTrue(_compareResults(self.cal.parse('1 min', start), (target, 2))) 39 self.assertTrue(_compareResults(self.cal.parse('1min', start), (target, 2))) 40 self.assertTrue(_compareResults(self.cal.parse('1 m', start), (target, 2))) 41 self.assertTrue(_compareResults(self.cal.parse('1m', start), (target, 2)))
42
43 - def testHours(self):
44 s = datetime.datetime.now() 45 t = s + datetime.timedelta(hours=1) 46 47 start = s.timetuple() 48 target = t.timetuple() 49 50 self.assertTrue(_compareResults(self.cal.parse('1 hour', start), (target, 2))) 51 self.assertTrue(_compareResults(self.cal.parse('1 hours', start), (target, 2))) 52 self.assertTrue(_compareResults(self.cal.parse('1 hr', start), (target, 2)))
53
54 - def testDays(self):
55 s = datetime.datetime.now() 56 t = s + datetime.timedelta(days=1) 57 58 start = s.timetuple() 59 target = t.timetuple() 60 61 self.assertTrue(_compareResults(self.cal.parse('1 day', start), (target, 1))) 62 self.assertTrue(_compareResults(self.cal.parse('1 days', start), (target, 1))) 63 self.assertTrue(_compareResults(self.cal.parse('1days', start), (target, 1))) 64 self.assertTrue(_compareResults(self.cal.parse('1 dy', start), (target, 1))) 65 self.assertTrue(_compareResults(self.cal.parse('1 d', start), (target, 1)))
66
67 - def testNegativeDays(self):
68 s = datetime.datetime.now() 69 t = s + datetime.timedelta(days=-1) 70 71 start = s.timetuple() 72 target = t.timetuple() 73 74 self.assertTrue(_compareResults(self.cal.parse('-1 day', start), (target, 1))) 75 self.assertTrue(_compareResults(self.cal.parse('-1 days', start), (target, 1))) 76 self.assertTrue(_compareResults(self.cal.parse('-1days', start), (target, 1))) 77 self.assertTrue(_compareResults(self.cal.parse('-1 dy', start), (target, 1))) 78 self.assertTrue(_compareResults(self.cal.parse('-1 d', start), (target, 1))) 79 80 self.assertTrue(_compareResults(self.cal.parse('- 1 day', start), (target, 1))) 81 self.assertTrue(_compareResults(self.cal.parse('- 1 days', start), (target, 1))) 82 self.assertTrue(_compareResults(self.cal.parse('- 1days', start), (target, 1))) 83 self.assertTrue(_compareResults(self.cal.parse('- 1 dy', start), (target, 1))) 84 self.assertTrue(_compareResults(self.cal.parse('- 1 d', start), (target, 1)))
85
86 - def testWeeks(self):
87 s = datetime.datetime.now() 88 t = s + datetime.timedelta(weeks=1) 89 90 start = s.timetuple() 91 target = t.timetuple() 92 93 self.assertTrue(_compareResults(self.cal.parse('1 week', start), (target, 1))) 94 self.assertTrue(_compareResults(self.cal.parse('1week', start), (target, 1))) 95 self.assertTrue(_compareResults(self.cal.parse('1 weeks', start), (target, 1))) 96 self.assertTrue(_compareResults(self.cal.parse('1 wk', start), (target, 1))) 97 self.assertTrue(_compareResults(self.cal.parse('1 w', start), (target, 1))) 98 self.assertTrue(_compareResults(self.cal.parse('1w', start), (target, 1)))
99
100 - def testMonths(self):
101 s = datetime.datetime.now() 102 t = self.cal.inc(s, month=1) 103 104 start = s.timetuple() 105 target = t.timetuple() 106 107 self.assertTrue(_compareResults(self.cal.parse('1 month', start), (target, 1))) 108 self.assertTrue(_compareResults(self.cal.parse('1 months', start), (target, 1))) 109 self.assertTrue(_compareResults(self.cal.parse('1month', start), (target, 1)))
110
111 - def testYears(self):
112 s = datetime.datetime.now() 113 t = self.cal.inc(s, year=1) 114 115 start = s.timetuple() 116 target = t.timetuple() 117 118 self.assertTrue(_compareResults(self.cal.parse('1 year', start), (target, 1))) 119 self.assertTrue(_compareResults(self.cal.parse('1 years', start), (target, 1))) 120 self.assertTrue(_compareResults(self.cal.parse('1 yr', start), (target, 1))) 121 self.assertTrue(_compareResults(self.cal.parse('1 y', start), (target, 1))) 122 self.assertTrue(_compareResults(self.cal.parse('1y', start), (target, 1)))
123 124 125 if __name__ == "__main__": 126 unittest.main() 127