1
2 """
3 Test Calendar.Inc() routine
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 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
21 t = datetime.datetime(2006, 2, 1, 12, 0, 0)
22 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
23
24 s = datetime.datetime(2006, 12, 1, 12, 0, 0)
25 t = datetime.datetime(2007, 1, 1, 12, 0, 0)
26 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
27
28
29 s = datetime.datetime(2008, 2, 1, 12, 0, 0)
30 t = datetime.datetime(2008, 3, 1, 12, 0, 0)
31 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
32
33
34 s = datetime.datetime(2008, 2, 29, 12, 0, 0)
35 t = datetime.datetime(2008, 3, 29, 12, 0, 0)
36 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
37
38 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
39 t = datetime.datetime(2005, 12, 1, 12, 0, 0)
40 self.assertExpectedResult(self.cal.inc(s, month=-1).timetuple(), t.timetuple())
41
42
43 s = datetime.datetime(2006, 1, 31, 12, 0, 0)
44 t = datetime.datetime(2006, 2, 28, 12, 0, 0)
45 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
46
47
48
49
50 for m in range(1, 11):
51 d = self.cal.ptc.daysInMonth(m, 2006)
52 s = datetime.datetime(2006, m, d, 12, 0, 0)
53
54 if d > self.cal.ptc.daysInMonth(m + 1, 2006):
55 d = self.cal.ptc.daysInMonth(m + 1, 2006)
56
57 t = datetime.datetime(2006, m + 1, d, 12, 0, 0)
58
59 self.assertExpectedResult(self.cal.inc(s, month=1).timetuple(), t.timetuple())
60
62 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
63 t = datetime.datetime(2007, 1, 1, 12, 0, 0)
64 self.assertExpectedResult(self.cal.inc(s, year=1).timetuple(), t.timetuple())
65
66 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
67 t = datetime.datetime(2008, 1, 1, 12, 0, 0)
68 self.assertExpectedResult(self.cal.inc(s, year=2).timetuple(), t.timetuple())
69
70 s = datetime.datetime(2006, 12, 31, 12, 0, 0)
71 t = datetime.datetime(2007, 12, 31, 12, 0, 0)
72 self.assertExpectedResult(self.cal.inc(s, year=1).timetuple(), t.timetuple())
73
74 s = datetime.datetime(2006, 12, 31, 12, 0, 0)
75 t = datetime.datetime(2005, 12, 31, 12, 0, 0)
76 self.assertExpectedResult(self.cal.inc(s, year=-1).timetuple(), t.timetuple())
77
78 s = datetime.datetime(2008, 3, 1, 12, 0, 0)
79 t = datetime.datetime(2009, 3, 1, 12, 0, 0)
80 self.assertExpectedResult(self.cal.inc(s, year=1).timetuple(), t.timetuple())
81
82 s = datetime.datetime(2008, 3, 1, 12, 0, 0)
83 t = datetime.datetime(2007, 3, 1, 12, 0, 0)
84 self.assertExpectedResult(self.cal.inc(s, year=-1).timetuple(), t.timetuple())
85
86
87 if __name__ == "__main__":
88 unittest.main()
89