def test(self): a = {'1': 'a', '2': 'b'} b = DotMap(a, _dynamic=False) def capture(**kwargs): return kwargs self.assertEqual(a, capture(**b.toDict()))
def test_dict_conversion(self): d = {'a': 1, 'b': 2, 'c': {'d': 3, 'e': 4}} m = DotMap(d) self.assertEqual(m.a, 1) self.assertEqual(m.b, 2) d2 = m.toDict() self.assertIsInstance(d2, dict) self.assertNotIsInstance(d2, DotMap) self.assertEqual(len(d2), 3) self.assertEqual(d2['a'], 1) self.assertEqual(d2['b'], 2) self.assertNotIsInstance(d2['c'], DotMap) self.assertEqual(len(d2['c']), 2) self.assertEqual(d2['c']['d'], 3) self.assertEqual(d2['c']['e'], 4)
def test(self): m = DotMap() m.a = 5 m_id = id(m) m.recursive = m self.assertEqual(id(m.recursive.recursive.recursive), m_id) self.assertEqual(str(m), '''DotMap(a=5, recursive=DotMap(...))''') d = m.toDict() d_id = id(d) d['a'] = 5 d['recursive'] = d d['recursive']['recursive']['recursive'] self.assertEqual(id(d['recursive']['recursive']['recursive']), d_id) self.assertEqual(str(d), '''{'a': 5, 'recursive': {...}}''') m2 = DotMap(d) m2_id = id(m2) self.assertEqual(id(m2.recursive.recursive.recursive), m2_id) self.assertEqual(str(m2), '''DotMap(a=5, recursive=DotMap(...))''')
def test(self): m = DotMap({'a': 1, 'b': (11, 22, DotMap({'c': 3}))}) d = m.toDict() self.assertEqual(d, {'a': 1, 'b': (11, 22, {'c': 3})})