mirror of
https://github.com/python/cpython.git
synced 2025-08-01 15:43:13 +00:00
Add support for copy, deepcopy, and pickle.
This commit is contained in:
parent
909e334e8a
commit
a6216749fb
2 changed files with 23 additions and 0 deletions
|
@ -6,6 +6,8 @@ import math
|
|||
import operator
|
||||
import rational
|
||||
import unittest
|
||||
from copy import copy, deepcopy
|
||||
from cPickle import dumps, loads
|
||||
R = rational.Rational
|
||||
|
||||
def _components(r):
|
||||
|
@ -359,6 +361,12 @@ class RationalTest(unittest.TestCase):
|
|||
s += num / fact * sign
|
||||
self.assertAlmostEquals(math.cos(1), s)
|
||||
|
||||
def test_copy_deepcopy_pickle(self):
|
||||
r = R(13, 7)
|
||||
self.assertEqual(r, loads(dumps(r)))
|
||||
self.assertEqual(id(r), id(copy(r)))
|
||||
self.assertEqual(id(r), id(deepcopy(r)))
|
||||
|
||||
def test_main():
|
||||
run_unittest(RationalTest)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue