[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):