Example #1
0
 def test_merge_dictionary_basic(self):
     dest = {'foo': 1, 'blah': 99}
     src = {'bar': 2, 'blah': 20}
     merge_dictionary(dest, src)
     self.assertEqual(1, dest['foo'])
     self.assertEqual(2, dest['bar'])
     self.assertEqual(20, dest['blah'])
     self.assertEqual(sorted(['foo', 'bar', 'blah']), sorted(dest.keys()))
Example #2
0
 def test_merge_dictionary_deep(self):
     dest = {'foo': 1, 'bar': {'cats': 'dogs'}, 'deep': {'deeper': [1,2]}}
     src = {'blah': 2, 'bar': {'meow': 'woof'}, 'deep': {'deeper': [3,4]}}
     merge_dictionary(dest, src, merge_list_keys=['deeper'])
     self.assertEqual(1, dest['foo'])
     self.assertEqual(2, dest['blah'])
     self.assertEqual(sorted(['foo', 'bar', 'blah', 'deep']), sorted(dest.keys()))
     self.assertEqual({'cats': 'dogs', 'meow': 'woof'}, dest['bar'])
     self.assertEqual({'deeper': [1,2,3,4]}, dest['deep'])
Example #3
0
 def load(self, path):
     data = file_to_context(path)
     merge_dictionary(self.output, data, merge_list_keys=['run_list'])
Example #4
0
 def merge(self, resource):
     merge_dictionary(self.output, resource.output,
                      merge_list_keys=['run_list'])
Example #5
0
 def test_merge_dictionary_append(self):
     dest = {'foo': [1]}
     src = {'foo': [2]}
     merge_dictionary(dest, src, merge_list_keys=['foo'])
     self.assertEqual(sorted([1,2]), sorted(dest['foo']))
Example #6
0
 def test_merge_dictionary_invalid_append(self):
     dest = {'foo': [1]}
     src = {'foo': 2}
     with self.assertRaises(TypeError) as e:
         merge_dictionary(dest, src, merge_list_keys=['foo'])