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
14
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
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
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
59
60
61
62
63
64
65
66
67 if __name__ == "__main__":
68 unittest.main()
69