def test_deepcopy(self): # Object with a copy() method are responsible for deep-copying themselves. class MyObject: def __init__(self, i): self.i = i def copy(self): return MyObject(graph.deepcopy(self.i)) # Assert deep copy for different types. for o1 in ( None, True, False, "a", u"a", 1, 1.0, 1L, complex(1), list([1]), tuple([1]), set([1]), frozenset([1]), dict(a=1), {frozenset(["a"]): 1}, {MyObject(1): 1}, MyObject(1), ): o2 = graph.deepcopy(o1) if isinstance(o2, (list, tuple, set, dict, MyObject)): self.assertTrue(id(o1) != id(o2))
def test_deepcopy(self): # Object with a copy() method are responsible for deep-copying themselves. class MyObject: def __init__(self, i): self.i = i def copy(self): return MyObject(graph.deepcopy(self.i)) # Assert deep copy for different types. for o1 in ( None, True, False, "a", u"a", 1, 1.0, 1L, complex(1), list([1]), tuple([1]), set([1]), frozenset([1]), dict(a=1), {frozenset(["a"]):1}, {MyObject(1):1}, MyObject(1)): o2 = graph.deepcopy(o1) if isinstance(o2, (list, tuple, set, dict, MyObject)): self.assertTrue(id(o1) != id(o2))
def copy(self): return MyObject(graph.deepcopy(self.i))