1
2 """
3 Test Calendar.Inc() routine
4 """
5
6 import unittest, time, datetime
7 import parsedatetime as pdt
8
9
10
11
13 t_yr, t_mth, t_dy, t_hr, t_min, _, _, _, _ = target
14 v_yr, v_mth, v_dy, v_hr, v_min, _, _, _, _ = value
15
16 return ((t_yr == v_yr) and (t_mth == v_mth) and (t_dy == v_dy) and
17 (t_hr == v_hr) and (t_min == v_min))
18
19
20 -class test(unittest.TestCase):
21
23 self.cal = pdt.Calendar()
24 self.yr, self.mth, self.dy, self.hr, self.mn, self.sec, self.wd, self.yd, self.isdst = time.localtime()
25
27 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
28 t = datetime.datetime(2006, 2, 1, 12, 0, 0)
29 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
30
31 s = datetime.datetime(2006, 12, 1, 12, 0, 0)
32 t = datetime.datetime(2007, 1, 1, 12, 0, 0)
33 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
34
35
36 s = datetime.datetime(2008, 2, 1, 12, 0, 0)
37 t = datetime.datetime(2008, 3, 1, 12, 0, 0)
38 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
39
40
41 s = datetime.datetime(2008, 2, 29, 12, 0, 0)
42 t = datetime.datetime(2008, 3, 29, 12, 0, 0)
43 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
44
45 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
46 t = datetime.datetime(2005, 12, 1, 12, 0, 0)
47 self.assertTrue(_compareResults(self.cal.inc(s, month=-1).timetuple(), t.timetuple()))
48
49
50 s = datetime.datetime(2006, 1, 31, 12, 0, 0)
51 t = datetime.datetime(2006, 2, 28, 12, 0, 0)
52 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
53
54
55
56
57 for m in range(1, 11):
58 d = self.cal.ptc.daysInMonth(m, 2006)
59 s = datetime.datetime(2006, m, d, 12, 0, 0)
60
61 if d > self.cal.ptc.daysInMonth(m + 1, 2006):
62 d = self.cal.ptc.daysInMonth(m + 1, 2006)
63
64 t = datetime.datetime(2006, m + 1, d, 12, 0, 0)
65
66 self.assertTrue(_compareResults(self.cal.inc(s, month=1).timetuple(), t.timetuple()))
67
69 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
70 t = datetime.datetime(2007, 1, 1, 12, 0, 0)
71 self.assertTrue(_compareResults(self.cal.inc(s, year=1).timetuple(), t.timetuple()))
72
73 s = datetime.datetime(2006, 1, 1, 12, 0, 0)
74 t = datetime.datetime(2008, 1, 1, 12, 0, 0)
75 self.assertTrue(_compareResults(self.cal.inc(s, year=2).timetuple(), t.timetuple()))
76
77 s = datetime.datetime(2006, 12, 31, 12, 0, 0)
78 t = datetime.datetime(2007, 12, 31, 12, 0, 0)
79 self.assertTrue(_compareResults(self.cal.inc(s, year=1).timetuple(), t.timetuple()))
80
81 s = datetime.datetime(2006, 12, 31, 12, 0, 0)
82 t = datetime.datetime(2005, 12, 31, 12, 0, 0)
83 self.assertTrue(_compareResults(self.cal.inc(s, year=-1).timetuple(), t.timetuple()))
84
85 s = datetime.datetime(2008, 3, 1, 12, 0, 0)
86 t = datetime.datetime(2009, 3, 1, 12, 0, 0)
87 self.assertTrue(_compareResults(self.cal.inc(s, year=1).timetuple(), t.timetuple()))
88
89 s = datetime.datetime(2008, 3, 1, 12, 0, 0)
90 t = datetime.datetime(2007, 3, 1, 12, 0, 0)
91 self.assertTrue(_compareResults(self.cal.inc(s, year=-1).timetuple(), t.timetuple()))
92
93
94 if __name__ == "__main__":
95 unittest.main()
96