annotate test/test_dates.py @ 1685:b6621f8bd496 maint-0.5

backported XSS message cleaning fix [SF#757128]
author Richard Jones <richard@users.sourceforge.net>
date Tue, 24 Jun 2003 03:33:56 +0000
parents f0da50a17e3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # This module is free software, and you may redistribute it and/or modify
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # under the same terms as Python, so long as this copyright message and
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 # disclaimer are retained in their original form.
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 #
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 # POSSIBILITY OF SUCH DAMAGE.
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 #
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 #
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
18 # $Id: test_dates.py,v 1.15.2.1 2003-03-06 04:37:51 richard Exp $
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 import unittest, time
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
22 from roundup.date import Date, Interval, fixTimeOverflow
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 class DateTestCase(unittest.TestCase):
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 def testDateInterval(self):
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 ae = self.assertEqual
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 date = Date("2000-06-26.00:34:02 + 2d")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 ae(str(date), '2000-06-28.00:34:02')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 date = Date("2000-02-27 + 2d")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 ae(str(date), '2000-02-29.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 date = Date("2001-02-27 + 2d")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 ae(str(date), '2001-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 def testDate(self):
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 ae = self.assertEqual
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 date = Date("2000-04-17")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 ae(str(date), '2000-04-17.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 date = Date("2000-4-7")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 ae(str(date), '2000-04-07.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 date = Date("2000-4-17")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 ae(str(date), '2000-04-17.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 date = Date("01-25")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 y, m, d, x, x, x, x, x, x = time.gmtime(time.time())
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 ae(str(date), '%s-01-25.00:00:00'%y)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 date = Date("2000-04-17.03:45")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 ae(str(date), '2000-04-17.03:45:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 date = Date("08-13.22:13")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 ae(str(date), '%s-08-13.22:13:00'%y)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 date = Date("11-07.09:32:43")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 ae(str(date), '%s-11-07.09:32:43'%y)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 date = Date("14:25")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 ae(str(date), '%s-%02d-%02d.14:25:00'%(y, m, d))
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 date = Date("8:47:11")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 ae(str(date), '%s-%02d-%02d.08:47:11'%(y, m, d))
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 def testOffset(self):
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 ae = self.assertEqual
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 date = Date("2000-04-17", -5)
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
59 ae(str(date), '2000-04-17.05:00:00')
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 date = Date("01-25", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 y, m, d, x, x, x, x, x, x = time.gmtime(time.time())
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
62 ae(str(date), '%s-01-25.05:00:00'%y)
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 date = Date("2000-04-17.03:45", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 ae(str(date), '2000-04-17.08:45:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 date = Date("08-13.22:13", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 ae(str(date), '%s-08-14.03:13:00'%y)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 date = Date("11-07.09:32:43", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 ae(str(date), '%s-11-07.14:32:43'%y)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 date = Date("14:25", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 ae(str(date), '%s-%02d-%02d.19:25:00'%(y, m, d))
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 date = Date("8:47:11", -5)
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 ae(str(date), '%s-%02d-%02d.13:47:11'%(y, m, d))
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
74 def testOffsetRandom(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
75 ae = self.assertEqual
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
76 # XXX unsure of the usefulness of these, they're pretty random
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 date = Date('2000-01-01') + Interval('- 2y 2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 ae(str(date), '1997-11-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 date = Date('2000-01-01 - 2y 2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 ae(str(date), '1997-11-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 date = Date('2000-01-01') + Interval('2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 ae(str(date), '2000-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 date = Date('2000-01-01 + 2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 ae(str(date), '2000-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 date = Date('2000-01-01') + Interval('60d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 ae(str(date), '2000-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 date = Date('2001-01-01') + Interval('60d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89 ae(str(date), '2001-03-02.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
91 def testOffsetAdd(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
92 ae = self.assertEqual
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 date = Date('2000-02-28.23:59:59') + Interval('00:00:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 ae(str(date), '2000-02-29.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 date = Date('2001-02-28.23:59:59') + Interval('00:00:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 ae(str(date), '2001-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 date = Date('2000-02-28.23:58:59') + Interval('00:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 ae(str(date), '2000-02-29.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 date = Date('2001-02-28.23:58:59') + Interval('00:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 ae(str(date), '2001-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 date = Date('2000-02-28.22:58:59') + Interval('01:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 ae(str(date), '2000-02-29.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 date = Date('2001-02-28.22:58:59') + Interval('01:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106 ae(str(date), '2001-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108 date = Date('2000-02-28.22:58:59') + Interval('00:00:3661')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109 ae(str(date), '2000-02-29.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
110 date = Date('2001-02-28.22:58:59') + Interval('00:00:3661')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
111 ae(str(date), '2001-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
112
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
113 def testOffsetSub(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
114 ae = self.assertEqual
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
115 date = Date('2000-01-01') - Interval('- 2y 2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
116 ae(str(date), '2002-03-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117 date = Date('2000-01-01') - Interval('2m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 ae(str(date), '1999-11-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 date = Date('2000-03-01') - Interval('60d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 ae(str(date), '2000-01-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122 date = Date('2001-03-02') - Interval('60d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
123 ae(str(date), '2001-01-01.00:00:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
124
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125 date = Date('2000-02-29.00:00:00') - Interval('00:00:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126 ae(str(date), '2000-02-28.23:59:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 date = Date('2001-03-01.00:00:00') - Interval('00:00:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 ae(str(date), '2001-02-28.23:59:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 date = Date('2000-02-29.00:00:00') - Interval('00:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 ae(str(date), '2000-02-28.23:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 date = Date('2001-03-01.00:00:00') - Interval('00:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 ae(str(date), '2001-02-28.23:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 date = Date('2000-02-29.00:00:00') - Interval('01:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 ae(str(date), '2000-02-28.22:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 date = Date('2001-03-01.00:00:00') - Interval('01:01:01')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 ae(str(date), '2001-02-28.22:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 date = Date('2000-02-29.00:00:00') - Interval('00:00:3661')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141 ae(str(date), '2000-02-28.22:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
142 date = Date('2001-03-01.00:00:00') - Interval('00:00:3661')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
143 ae(str(date), '2001-02-28.22:58:59')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
145 def testDateLocal(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
146 ae = self.assertEqual
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 date = Date("02:42:20")
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 date = date.local(10)
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
149 y, m, d, x, x, x, x, x, x = time.gmtime(time.time())
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150 ae(str(date), '%s-%02d-%02d.12:42:20'%(y, m, d))
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
151
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
152 def testIntervalInit(self):
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153 ae = self.assertEqual
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 ae(str(Interval('3y')), '+ 3y')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
155 ae(str(Interval('2 y 1 m')), '+ 2y 1m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
156 ae(str(Interval('1m 25d')), '+ 1m 25d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157 ae(str(Interval('-2w 3 d ')), '- 17d')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
158 ae(str(Interval(' - 1 d 2:50 ')), '- 1d 2:50')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
159 ae(str(Interval(' 14:00 ')), '+ 14:00')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
160 ae(str(Interval(' 0:04:33 ')), '+ 0:04:33')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
161
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
162 def testIntervalAdd(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
163 ae = self.assertEqual
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
164 ae(str(Interval('1y') + Interval('1y')), '+ 2y')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
165 ae(str(Interval('1y') + Interval('1m')), '+ 1y 1m')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
166 ae(str(Interval('1y') + Interval('2:40')), '+ 1y 2:40')
1489
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
167 ae(str(Interval('1y') + Interval('- 1y')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
168 ae(str(Interval('- 1y') + Interval('1y')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
169 ae(str(Interval('- 1y') + Interval('- 1y')), '- 2y')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
170 ae(str(Interval('1y') + Interval('- 1m')), '+ 11m')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
171 ae(str(Interval('1:00') + Interval('1:00')), '+ 2:00')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
172 ae(str(Interval('0:50') + Interval('0:50')), '+ 1:40')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
173 ae(str(Interval('1:50') + Interval('- 1:50')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
174 ae(str(Interval('- 1:50') + Interval('1:50')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
175 ae(str(Interval('- 1:50') + Interval('- 1:50')), '- 3:40')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
176 ae(str(Interval('1:59:59') + Interval('00:00:01')), '+ 2:00')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
177 ae(str(Interval('2:00') + Interval('- 00:00:01')), '+ 1:59:59')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
178
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
179 def testIntervalSub(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
180 ae = self.assertEqual
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
181 ae(str(Interval('1y') - Interval('- 1y')), '+ 2y')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
182 ae(str(Interval('1y') - Interval('- 1m')), '+ 1y 1m')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
183 ae(str(Interval('1y') - Interval('- 2:40')), '+ 1y 2:40')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
184 ae(str(Interval('1y') - Interval('1y')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
185 ae(str(Interval('1y') - Interval('1m')), '+ 11m')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
186 ae(str(Interval('1:00') - Interval('- 1:00')), '+ 2:00')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
187 ae(str(Interval('0:50') - Interval('- 0:50')), '+ 1:40')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
188 ae(str(Interval('1:50') - Interval('1:50')), '')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
189 ae(str(Interval('1:59:59') - Interval('- 00:00:01')), '+ 2:00')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
190 ae(str(Interval('2:00') - Interval('00:00:01')), '+ 1:59:59')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
191
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
192 def testOverflow(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
193 ae = self.assertEqual
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
194 ae(fixTimeOverflow((1,0,0,0, 0, 0, 60)), (1,0,0,0, 0, 1, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
195 ae(fixTimeOverflow((1,0,0,0, 0, 0, 100)), (1,0,0,0, 0, 1, 40))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
196 ae(fixTimeOverflow((1,0,0,0, 0, 0, 60*60)), (1,0,0,0, 1, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
197 ae(fixTimeOverflow((1,0,0,0, 0, 0, 24*60*60)), (1,0,0,1, 0, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
198 ae(fixTimeOverflow((1,0,0,0, 0, 0, -1)), (-1,0,0,0, 0, 0, 1))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
199 ae(fixTimeOverflow((1,0,0,0, 0, 0, -100)), (-1,0,0,0, 0, 1, 40))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
200 ae(fixTimeOverflow((1,0,0,0, 0, 0, -60*60)), (-1,0,0,0, 1, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
201 ae(fixTimeOverflow((1,0,0,0, 0, 0, -24*60*60)), (-1,0,0,1, 0, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
202 ae(fixTimeOverflow((-1,0,0,0, 0, 0, 1)), (-1,0,0,0, 0, 0, 1))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
203 ae(fixTimeOverflow((-1,0,0,0, 0, 0, 100)), (-1,0,0,0, 0, 1, 40))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
204 ae(fixTimeOverflow((-1,0,0,0, 0, 0, 60*60)), (-1,0,0,0, 1, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
205 ae(fixTimeOverflow((-1,0,0,0, 0, 0, 24*60*60)), (-1,0,0,1, 0, 0, 0))
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
206
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
207 def testDivision(self):
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
208 ae = self.assertEqual
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
209 ae(str(Interval('1y')/2), '+ 6m')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
210 ae(str(Interval('1:00')/2), '+ 0:30')
f0da50a17e3c backport Interval fix from HEAD
Richard Jones <richard@users.sourceforge.net>
parents: 1356
diff changeset
211 ae(str(Interval('00:01')/2), '+ 0:00:30')
1356
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
212
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
213 def suite():
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
214 return unittest.makeSuite(DateTestCase, 'test')
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
215
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
216
83f33642d220 [[Metadata associated with this commit was garbled during conversion from CVS
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
217 # vim: set filetype=python ts=4 sw=4 et si

Roundup Issue Tracker: http://roundup-tracker.org/