[Python-checkins] CVS: python/nondist/sandbox/datetime datetime.py,1.24,1.25 test_datetime.py,1.15,1.16
Guido van Rossum
gvanrossum@users.sourceforge.net
Sun, 03 Mar 2002 12:43:52 -0800
Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory usw-pr-cvs1:/tmp/cvs-serv7507
Modified Files:
datetime.py test_datetime.py
Log Message:
Add proper tests for __radd__, __rsub__ of timedelta; fix bug thus found.
Index: datetime.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** datetime.py 3 Mar 2002 20:24:06 -0000 1.24
--- datetime.py 3 Mar 2002 20:43:49 -0000 1.25
***************
*** 256,260 ****
def __rsub__(self, other):
! if isinstance(other, timedelta):
return -self + other
return NotImplemented
--- 256,260 ----
def __rsub__(self, other):
! if isinstance(other, (timedelta, int, long, float)):
return -self + other
return NotImplemented
Index: test_datetime.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/test_datetime.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** test_datetime.py 3 Mar 2002 20:24:06 -0000 1.15
--- test_datetime.py 3 Mar 2002 20:43:49 -0000 1.16
***************
*** 155,166 ****
--- 155,174 ----
self.assertEqual(a + 100, timedelta(7, 100))
self.assertEqual(a - 100, timedelta(6, 24*3600-100))
+ self.assertEqual(100 + a, a + 100)
+ self.assertEqual(100 - a, 100 + -a)
self.assertEqual(a + 7*24*3600L, timedelta(14))
self.assertEqual(a - 24*3600L, timedelta(6))
self.assertEqual(a + 100L, timedelta(7, 100))
self.assertEqual(a - 100L, timedelta(6, 24*3600-100))
+ self.assertEqual(100L + a, a + 100L)
+ self.assertEqual(100L - a, 100L + -a)
self.assertEqual(c + 0.001, timedelta(0, 0, 2000))
self.assertEqual(c - 0.0001, timedelta(0, 0, 900))
self.assertEqual(b + 1.1, timedelta(0, 61, 100000))
self.assertEqual(b - 1.1, timedelta(0, 58, 900000))
+ self.assertEqual(a + 1e6 + 1e-6, timedelta(7, 1000000, 1))
+ self.assertEqual(a - 1e6 - 1e-6, timedelta(7, -1000000, -1))
+ self.assertEqual(1.1 + a, a + 1.1)
+ self.assertEqual(1.1 - a, 1.1 + -a)
def test_computations(self):
***************
*** 214,221 ****
--- 222,232 ----
self.assertEqual(a + 12, a + timedelta(0, 12))
self.assertEqual(a - 12, a - timedelta(0, 12))
+ self.assertEqual(100 + a, a + 100)
self.assertEqual(a + 12L, a + timedelta(0, 12))
self.assertEqual(a - 12L, a - timedelta(0, 12))
+ self.assertEqual(100L + a, a + 100L)
self.assertEqual(a + 0.001, a + timedelta(0, 0, 1000))
self.assertEqual(a - 0.001, a - timedelta(0, 0, 1000))
+ self.assertEqual(0.1 + a, a + 0.1)
def test_weekday(self):