Fixed pickle AttributeError. #6
This commit is contained in:
parent
d49abdfbb7
commit
2e79c9ab8e
|
@ -7,6 +7,8 @@ from six import string_types
|
|||
|
||||
class KeypathDict(dict):
|
||||
|
||||
_keypath_separator = None
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
Constructs a new instance.
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue