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

Source Code for Module parsedatetime.tests.TestRanges

 1   
 2  """ 
 3  Test parsing of simple date and times 
 4  """ 
 5   
 6  import unittest, time, datetime 
 7  import parsedatetime as pdt 
8 9 -class test(unittest.TestCase):
10 11 @pdt.tests.assertEqualWithComparator
12 - def assertExpectedResult(self, result, check, **kwargs):
13 return pdt.tests.compareResultByTimeTupleRangesAndFlags(result, check, **kwargs)
14
15 - def setUp(self):
16 self.cal = pdt.Calendar() 17 self.yr, self.mth, self.dy, self.hr, self.mn, self.sec, self.wd, self.yd, self.isdst = time.localtime()
18
19 - def testTimes(self):
20 start = datetime.datetime(self.yr, self.mth, self.dy, self.hr, self.mn, self.sec).timetuple() 21 22 targetStart = datetime.datetime(self.yr, self.mth, self.dy, 14, 0, 0).timetuple() 23 targetEnd = datetime.datetime(self.yr, self.mth, self.dy, 17, 30, 0).timetuple() 24 25 self.assertExpectedResult(self.cal.evalRanges("2 pm - 5:30 pm", start), (targetStart, targetEnd, 2)) 26 self.assertExpectedResult(self.cal.evalRanges("2pm - 5:30pm", start), (targetStart, targetEnd, 2)) 27 self.assertExpectedResult(self.cal.evalRanges("2:00:00 pm - 5:30:00 pm", start), (targetStart, targetEnd, 2)) 28 self.assertExpectedResult(self.cal.evalRanges("2 - 5:30pm", start), (targetStart, targetEnd, 2)) 29 self.assertExpectedResult(self.cal.evalRanges("14:00 - 17:30", start), (targetStart, targetEnd, 2)) 30 31 targetStart = datetime.datetime(self.yr, self.mth, self.dy, 10, 0, 0).timetuple() 32 targetEnd = datetime.datetime(self.yr, self.mth, self.dy, 13, 30, 0).timetuple() 33 34 self.assertExpectedResult(self.cal.evalRanges("10AM - 1:30PM", start), (targetStart, targetEnd, 2)) 35 self.assertExpectedResult(self.cal.evalRanges("10:00:00 am - 1:30:00 pm", start), (targetStart, targetEnd, 2)) 36 self.assertExpectedResult(self.cal.evalRanges("10:00 - 13:30", start), (targetStart, targetEnd, 2)) 37 38 targetStart = datetime.datetime(self.yr, self.mth, self.dy, 15, 30, 0).timetuple() 39 targetEnd = datetime.datetime(self.yr, self.mth, self.dy, 17, 0, 0).timetuple() 40 41 self.assertExpectedResult(self.cal.evalRanges("today 3:30-5PM", start), (targetStart, targetEnd, 2))
42
43 - def testDates(self):
44 start = datetime.datetime(self.yr, self.mth, self.dy, self.hr, self.mn, self.sec).timetuple() 45 46 targetStart = datetime.datetime(2006, 8, 29, self.hr, self.mn, self.sec).timetuple() 47 targetEnd = datetime.datetime(2006, 9, 2,self.hr, self.mn, self.sec).timetuple() 48 49 self.assertExpectedResult(self.cal.evalRanges("August 29, 2006 - September 2, 2006", start), (targetStart, targetEnd, 1)) 50 self.assertExpectedResult(self.cal.evalRanges("August 29 - September 2, 2006", start), (targetStart, targetEnd, 1)) 51 52 targetStart = datetime.datetime(2006, 8, 29, self.hr, self.mn, self.sec).timetuple() 53 targetEnd = datetime.datetime(2006, 9, 2, self.hr, self.mn, self.sec).timetuple() 54 55 self.assertExpectedResult(self.cal.evalRanges("08/29/06 - 09/02/06", start), (targetStart, targetEnd, 1))
56 57 58 #def testSubRanges(self): 59 # start = datetime.datetime(self.yr, self.mth, self.dy, self.hr, self.mn, self.sec).timetuple() 60 61 # targetStart = datetime.datetime(2006, 8, 1, 9, 0, 0).timetuple() 62 # targetEnd = datetime.datetime(2006, 8, 15, 9, 0, 0).timetuple() 63 64 # self.assertExpectedResult(self.cal.evalRanges("August 1-15, 2006", start), (targetStart, targetEnd, 1)) 65 66 67 if __name__ == "__main__": 68 unittest.main() 69