summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerhard Weis <gerhard.weis@gmail.com>2013-01-24 16:16:07 +1000
committerGerhard Weis <gerhard.weis@gmail.com>2013-01-24 16:16:36 +1000
commita1197ed632b3d82a2871b05f4587e206387ab283 (patch)
tree03d2711a1699b58510d92332782bc3ff9b467122
parent27eb4b1b7a0b21cb5bf36094bd56c34ee2a73112 (diff)
downloadisodate-a1197ed632b3d82a2871b05f4587e206387ab283.tar.gz
rename todatetime to totimedelta on Duration.
added some tests for the same function closes #4
-rw-r--r--src/isodate/duration.py2
-rw-r--r--src/isodate/tests/test_duration.py14
2 files changed, 15 insertions, 1 deletions
diff --git a/src/isodate/duration.py b/src/isodate/duration.py
index 0d5e0fa..12c0df4 100644
--- a/src/isodate/duration.py
+++ b/src/isodate/duration.py
@@ -251,7 +251,7 @@ class Duration(object):
return True
return False
- def todatetime(self, start=None, end=None):
+ def totimedelta(self, start=None, end=None):
'''
Convert this duration into a timedelta object.
diff --git a/src/isodate/tests/test_duration.py b/src/isodate/tests/test_duration.py
index a66652e..7d72704 100644
--- a/src/isodate/tests/test_duration.py
+++ b/src/isodate/tests/test_duration.py
@@ -323,6 +323,20 @@ class DurationTest(unittest.TestCase):
# treats a != b the same b != a
#self.assertNotEqual(timedelta(days=1), Duration(days=1))
+ def test_totimedelta(self):
+ '''
+ Test conversion form Duration to timedelta.
+ '''
+ dur = Duration(years=1, months=2, days=10)
+ self.assertEqual(dur.totimedelta(datetime(1998, 2, 25)), timedelta(434))
+ # leap year has one day more in february
+ self.assertEqual(dur.totimedelta(datetime(2000, 2, 25)), timedelta(435))
+ dur = Duration(months=2)
+ # march is longer than february, but april is shorter than march (cause only one day difference compared to 2)
+ self.assertEqual(dur.totimedelta(datetime(2000, 2, 25)), timedelta(60))
+ self.assertEqual(dur.totimedelta(datetime(2001, 2, 25)), timedelta(59))
+ self.assertEqual(dur.totimedelta(datetime(2001, 3, 25)), timedelta(61))
+
def create_parsetestcase(durationstring, expectation, format, altstr):
"""