diff options
author | Alexander Belopolsky <alexander.belopolsky@gmail.com> | 2010-06-22 14:07:33 (GMT) |
---|---|---|
committer | Alexander Belopolsky <alexander.belopolsky@gmail.com> | 2010-06-22 14:07:33 (GMT) |
commit | 1b402925928a03240fe62ddc773f6f8fc2a7a5bd (patch) | |
tree | 121613bb47001019742a4fc5101bf00eaca3f209 /Lib | |
parent | 0aae6dc6f5f405181b8620035fd38370c90546c4 (diff) | |
download | cpython-1b402925928a03240fe62ddc773f6f8fc2a7a5bd.zip cpython-1b402925928a03240fe62ddc773f6f8fc2a7a5bd.tar.gz cpython-1b402925928a03240fe62ddc773f6f8fc2a7a5bd.tar.bz2 |
Added more test cases
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_datetime.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py index 5b415af..b86c020 100644 --- a/Lib/test/test_datetime.py +++ b/Lib/test/test_datetime.py @@ -301,6 +301,7 @@ class TestTimeDelta(HarmlessMixedComparison, unittest.TestCase): c = td(0, 0, 1000) # One millisecond eq(a+b+c, td(7, 60, 1000)) eq(a-b, td(6, 24*3600 - 60)) + eq(b.__rsub__(a), td(6, 24*3600 - 60)) eq(-a, td(-7)) eq(+a, td(7)) eq(-b, td(-1, 24*3600 - 60)) @@ -378,6 +379,7 @@ class TestTimeDelta(HarmlessMixedComparison, unittest.TestCase): self.assertRaises(ZeroDivisionError, lambda: a // zero) self.assertRaises(ZeroDivisionError, lambda: a / zero) self.assertRaises(ZeroDivisionError, lambda: a / 0.0) + self.assertRaises(TypeError, lambda: a / '') @requires_IEEE_754 def test_disallowed_special(self): @@ -503,10 +505,20 @@ class TestTimeDelta(HarmlessMixedComparison, unittest.TestCase): microseconds=999999)), "999999999 days, 23:59:59.999999") + def test_repr(self): + name = 'datetime.' + self.theclass.__name__ + self.assertEqual(repr(self.theclass(1)), + "%s(1)" % name) + self.assertEqual(repr(self.theclass(10, 2)), + "%s(10, 2)" % name) + self.assertEqual(repr(self.theclass(-10, 2, 400000)), + "%s(-10, 2, 400000)" % name) + def test_roundtrip(self): for td in (timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999), timedelta(days=-999999999), + timedelta(days=-999999999, seconds=1), timedelta(days=1, seconds=2, microseconds=3)): # Verify td -> string -> td identity. @@ -3480,6 +3492,19 @@ class TestTimezoneConversions(unittest.TestCase): def dst(self, dt): return None self.assertRaises(ValueError, now.astimezone, notok()) + # Sometimes blow up. In the following, tzinfo.dst() + # implementation may return None or not Nonedepending on + # whether DST is assumed to be in effect. In this situation, + # a ValueError should be raised by astimezone(). + class tricky_notok(ok): + def dst(self, dt): + if dt.year == 2000: + return None + else: + return 10*HOUR + dt = self.theclass(2001, 1, 1).replace(tzinfo=utc_real) + self.assertRaises(ValueError, dt.astimezone, tricky_notok()) + def test_fromutc(self): self.assertRaises(TypeError, Eastern.fromutc) # not enough args now = datetime.utcnow().replace(tzinfo=utc_real) |