diff --git a/attributedict/collections.py b/attributedict/collections.py index 84ceb26..4e11d99 100644 --- a/attributedict/collections.py +++ b/attributedict/collections.py @@ -294,12 +294,6 @@ def __contains__(self, key): """ return self.__dict__.__contains__(key) - def __reduce__(self): - """ - Return state information for pickling. - """ - return self.__dict__.__reduce__() - def __eq__(self, other): """ Check dictionary is equal to another provided dictionary. diff --git a/attributedict/tests/test_collections.py b/attributedict/tests/test_collections.py index 6f66a99..c5e6c06 100644 --- a/attributedict/tests/test_collections.py +++ b/attributedict/tests/test_collections.py @@ -14,6 +14,8 @@ import attributedict import attributedict.collections as collections +import pickle + AttributeDict = collections.AttributeDict class CustomAttributeDict(AttributeDict): @@ -38,6 +40,12 @@ def test__import(self): self.assertTrue(hasattr(attributedict.collections, 'attrdict')) self.assertEqual(attributedict.collections.attrdict, attributedict.collections.attrdict) + def test_pickle(self): + attr_dict = AttributeDict({'foo': {'bar': 3}}) + data = pickle.dumps(attr_dict) + restored_attr_dict = pickle.loads(data) + self.assertDeepEqual(attr_dict, restored_attr_dict) + def test_init(self): for _AttributeDict in [AttributeDict, CustomAttributeDict]: attr_dict = _AttributeDict()