示例#1
0
 def test_writes_new_keys_and_keeps_old(self):
     old = {'a': 1}
     new = {
         'b': 2
     }
     recursive_update(old, new)
     self.assertIn('a', old)
     self.assertIn('b', old)
示例#2
0
 def test_overwrites_old_values(self):
     old = {
         'a': 1,
         'b': 'abc'
     }
     new = {
         'a': 2,
         'b': 'xyz'
     }
     recursive_update(old, new)
     self.assertEqual(old, new)
示例#3
0
 def test_extends_lists(self):
     old = {
         'list1': [1,2,3],
         'list2': ['a','b']
     }
     new = {
         'list1': [4,5,6],
         'list2': ('c','d')
     }
     recursive_update(old, new)
     self.assertEqual(old['list1'], [1,2,3,4,5,6])
     self.assertEqual(old['list2'], ['a','b','c','d'])
示例#4
0
 def test_updates_dicts(self):
     old = {'dict': {
         'a': 1,
         'b': 2
     }}
     new = {'dict': {
         'a': 3,
         'c': 1
     }}
     recursive_update(old, new)
     self.assertEqual(old['dict']['a'], 3)
     self.assertEqual(old['dict']['b'], 2)
     self.assertEqual(old['dict']['c'], 1)
示例#5
0
 def test_updates_dicts_recursive(self):
     old = {'dict1': {'dict2': {'foo': 'bar'}}}
     new = {'dict1': {'dict2': {'a': 1}, 'dict3': {'b': 2}}}
     recursive_update(old, new)
     self.assertEqual(sorted(list(old['dict1'].keys())), sorted(['dict2', 'dict3']))
     self.assertEqual(old['dict1']['dict2'], {'foo': 'bar', 'a': 1})