diff options
Diffstat (limited to 'Lib/test/test_copy.py')
-rw-r--r-- | Lib/test/test_copy.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py index 846e675..c97d54d 100644 --- a/Lib/test/test_copy.py +++ b/Lib/test/test_copy.py @@ -454,6 +454,24 @@ class TestCopy(unittest.TestCase): self.assert_(x[0] is not y[0]) self.assert_(x.foo is not y.foo) + def test_copy_tuple_subclass(self): + class C(tuple): + pass + x = C([1, 2, 3]) + self.assertEqual(tuple(x), (1, 2, 3)) + y = copy.copy(x) + self.assertEqual(tuple(y), (1, 2, 3)) + + def test_deepcopy_tuple_subclass(self): + class C(tuple): + pass + x = C([[1, 2], 3]) + self.assertEqual(tuple(x), ([1, 2], 3)) + y = copy.deepcopy(x) + self.assertEqual(tuple(y), ([1, 2], 3)) + self.assert_(x is not y) + self.assert_(x[0] is not y[0]) + def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestCopy)) |