[Python-checkins] cpython (3.4): Issue #9051: Added tests for pickling and copying the timezone objects.
serhiy.storchaka
python-checkins at python.org
Mon Nov 16 04:21:15 EST 2015
https://hg.python.org/cpython/rev/e48da8f01316
changeset: 99153:e48da8f01316
branch: 3.4
parent: 99146:6bd3c8623bb2
user: Serhiy Storchaka <storchaka at gmail.com>
date: Mon Nov 16 11:12:58 2015 +0200
summary:
Issue #9051: Added tests for pickling and copying the timezone objects.
files:
Lib/test/datetimetester.py | 29 +++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -3,6 +3,7 @@
See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases
"""
+import copy
import sys
import pickle
import random
@@ -223,7 +224,6 @@
tzrep = repr(tz)
self.assertEqual(tz, eval(tzrep))
-
def test_class_members(self):
limit = timedelta(hours=23, minutes=59)
self.assertEqual(timezone.utc.utcoffset(None), ZERO)
@@ -310,6 +310,33 @@
self.assertEqual(tz.dst(t),
t.replace(tzinfo=tz).dst())
+ def test_pickle(self):
+ for tz in self.ACDT, self.EST, timezone.min, timezone.max:
+ for pickler, unpickler, proto in pickle_choices:
+ tz_copy = unpickler.loads(pickler.dumps(tz, proto))
+ self.assertEqual(tz_copy, tz)
+ tz = timezone.utc
+ for pickler, unpickler, proto in pickle_choices:
+ tz_copy = unpickler.loads(pickler.dumps(tz, proto))
+ self.assertIs(tz_copy, tz)
+
+ def test_copy(self):
+ for tz in self.ACDT, self.EST, timezone.min, timezone.max:
+ tz_copy = copy.copy(tz)
+ self.assertEqual(tz_copy, tz)
+ tz = timezone.utc
+ tz_copy = copy.copy(tz)
+ self.assertIs(tz_copy, tz)
+
+ def test_deepcopy(self):
+ for tz in self.ACDT, self.EST, timezone.min, timezone.max:
+ tz_copy = copy.deepcopy(tz)
+ self.assertEqual(tz_copy, tz)
+ tz = timezone.utc
+ tz_copy = copy.deepcopy(tz)
+ self.assertIs(tz_copy, tz)
+
+
#############################################################################
# Base class for testing a particular aspect of timedelta, time, date and
# datetime comparisons.
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list