From a1197ed632b3d82a2871b05f4587e206387ab283 Mon Sep 17 00:00:00 2001 From: Gerhard Weis Date: Thu, 24 Jan 2013 16:16:07 +1000 Subject: rename todatetime to totimedelta on Duration. added some tests for the same function closes #4 --- src/isodate/duration.py | 2 +- src/isodate/tests/test_duration.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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): """ -- cgit v1.2.1