Fixed pickle AttributeError. #6

This commit is contained in:
Fabio Caccamo 2020-01-07 16:00:06 +01:00
parent d49abdfbb7
commit 2e79c9ab8e
2 changed files with 35 additions and 0 deletions

View File

@ -7,6 +7,8 @@ from six import string_types
class KeypathDict(dict):
_keypath_separator = None
def __init__(self, *args, **kwargs):
"""
Constructs a new instance.

33
tests/test_pickle.py Normal file
View File

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from benedict import benedict
import pickle
import unittest
class pickle_test_case(unittest.TestCase):
def test_pickle(self):
d = {
'a': {},
'b': { 'x': 1 },
'c': [],
'd': [0, 1],
'e': 0.0,
'f': '',
'g': None,
'h': '0'
}
b = benedict(d, keypath_separator='/')
b_encoded = pickle.dumps(b)
# print(b_encoded)
b_decoded = pickle.loads(b_encoded)
# print(b_decoded)
# print(b_decoded.keypath_separator)
self.assertTrue(isinstance(b_decoded, benedict))
self.assertEqual(b_decoded.keypath_separator, b.keypath_separator)
self.assertEqual(b_decoded, b)