Exemplo n.º 1
0
 def test(self):
     import copy
     original = DotMap()
     original.a = 1
     original.b = 3
     shallowCopy = original
     deepCopy = copy.deepcopy(original)
     self.assertEqual(original, shallowCopy)
     self.assertEqual(id(original), id(shallowCopy))
     self.assertEqual(original, deepCopy)
     self.assertNotEqual(id(original), id(deepCopy))
     original.a = 2
     self.assertEqual(original, shallowCopy)
     self.assertNotEqual(original, deepCopy)
Exemplo n.º 2
0
 def test(self):
     m = DotMap()
     self.assertTrue(m.empty())
     m.a = 1
     self.assertFalse(m.empty())
     self.assertTrue(m.b.empty())
     self.assertIsInstance(m.b, DotMap)
Exemplo n.º 3
0
 def test_order_preserved(self):
     import copy
     original = DotMap()
     original.a = 1
     original.b = 2
     original.c = 3
     deepCopy = copy.deepcopy(original)
     orderedPairs = []
     for k, v in original.iteritems():
         orderedPairs.append((k, v))
     for i, (k, v) in enumerate(deepCopy.iteritems()):
         self.assertEqual(k, orderedPairs[i][0])
         self.assertEqual(v, orderedPairs[i][1])
Exemplo n.º 4
0
 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(...))''')