Пример #1
0
 def test_new_instance(self):
     """It must return a new dict instance"""
     a = dict(x=1)
     b = dict(y=2)
     c = deep_merge_dict(a, b)
     self.assertIsNot(c, a)
     self.assertIsNot(c, b)
Пример #2
0
 def test_overwrite_new(self):
     """New simple entries must overwrite old ones"""
     a = dict(x=1, y=1)
     b = dict(y=2)
     c = deep_merge_dict(a, b)
     self.assertIn('y', c)
     self.assertEqual(c['y'], b['y'])
Пример #3
0
 def test_add_new(self):
     """New entries must be added"""
     a = dict(x=1)
     b = dict(y=2)
     c = deep_merge_dict(a, b)
     self.assertIn('y', c)
     self.assertEqual(c['y'], b['y'])
Пример #4
0
 def test_preserve_old(self):
     """Old entries must be preserved"""
     a = dict(x=1)
     b = dict(y=2)
     c = deep_merge_dict(a, b)
     self.assertIn('x', c)
     self.assertEqual(c['x'], a['x'])
Пример #5
0
 def test_new_instance_deep(self):
     """It must return new dict instances deep in the structure"""
     x = dict()
     y = dict()
     a = dict(x=x)
     b = dict(y=y)
     c = deep_merge_dict(a, b)
     self.assertIsNot(c['x'], x)
     self.assertIsNot(c['y'], y)
Пример #6
0
 def test_deep_merge(self):
     """New dict entries must merged"""
     x1 = dict(w=1, y=2)
     x2 = dict(y=3, z=4)
     a = dict(x=x1)
     b = dict(x=x2)
     c = deep_merge_dict(a, b)
     self.assertIn('x', c)
     x = c['x']
     self.assertIn('w', x)
     self.assertIn('y', x)
     self.assertIn('z', x)
     self.assertEqual(x['w'], 1)
     self.assertEqual(x['y'], 3)
     self.assertEqual(x['z'], 4)