summaryrefslogtreecommitdiff
path: root/test.py
diff options
context:
space:
mode:
authorTomi Pieviläinen <tomi.pievilainen+launchpad@iki.fi>2012-03-28 11:36:48 +0300
committerTomi Pieviläinen <tomi.pievilainen+launchpad@iki.fi>2012-03-28 11:36:48 +0300
commit15fc1fa8c1e2c3d088e646d6d47ac9d25d902f95 (patch)
tree380159ffcc69cbb55c71cee5e4f4a80a4cbff963 /test.py
parent836f16166a473e379d59478e7e26b1cd5a61bcf0 (diff)
downloaddateutil-15fc1fa8c1e2c3d088e646d6d47ac9d25d902f95.tar.gz
Fix relativedelta arithmetics, bug #965881
Diffstat (limited to 'test.py')
-rwxr-xr-xtest.py37
1 files changed, 29 insertions, 8 deletions
diff --git a/test.py b/test.py
index 94f1f97..80a7776 100755
--- a/test.py
+++ b/test.py
@@ -150,14 +150,35 @@ class RelativeDeltaTest(unittest.TestCase):
self.assertEqual(self.today+relativedelta(yearday=261),
date(2003, 9, 18))
- def test884317(self):
- # See https://bugs.launchpad.net/dateutil/+bug/884317
- a = relativedelta(second = 2, microsecond = 20)
- b = relativedelta(second = 1, microsecond = 10)
- c = a-b
- self.assertEqual(c.microsecond, b.microsecond)
- c = a+b
- self.assertEqual(c.microsecond, b.microsecond)
+ def testAddition(self):
+ self.assertEqual(relativedelta(days=10) +
+ relativedelta(years=1, months=2, days=3, hours=4,
+ minutes=5, microseconds=6),
+ relativedelta(years=1, months=2, days=13, hours=4,
+ minutes=5, microseconds=6))
+
+ def testAdditionToDatetime(self):
+ self.assertEqual(datetime(2000, 1, 1) + relativedelta(days=1),
+ datetime(2000, 1, 2))
+
+ def testRightAdditionToDatetime(self):
+ self.assertEqual(relativedelta(days=1) + datetime(2000, 1, 1),
+ datetime(2000, 1, 2))
+
+ def testSubtraction(self):
+ self.assertEqual(relativedelta(days=10) -
+ relativedelta(years=1, months=2, days=3, hours=4,
+ minutes=5, microseconds=6),
+ relativedelta(years=-1, months=-2, days=7, hours=-4,
+ minutes=-5, microseconds=-6))
+
+ def testRightSubtractionFromDatetime(self):
+ self.assertEqual(datetime(2000, 1, 2) - relativedelta(days=1),
+ datetime(2000, 1, 1))
+
+ def testSubractionWithDatetime(self):
+ self.assertRaises(TypeError, lambda x, y: x - y,
+ (relativedelta(days=1), datetime(2000, 1, 1)))
def testMultiplication(self):
self.assertEqual(datetime(2000, 1, 1) + relativedelta(days=1) * 28,