def test_merge_with_list_merging(self): """ Test deep merging of dicts with merge_lists enabled. """ src_dict = { "string_key": "string_val_src", "list_key": ["list_val_src"], "dict_key": { "dict_key_src": "dict_val_src" }, } dest_dict = { "string_key": "string_val_dest", "list_key": ["list_val_dest"], "dict_key": { "dict_key_dest": "dict_val_dest" }, } merged_dict = { "string_key": "string_val_src", "list_key": ["list_val_dest", "list_val_src"], "dict_key": { "dict_key_dest": "dict_val_dest", "dict_key_src": "dict_val_src", }, } defaults.merge(dest_dict, src_dict, merge_lists=True) self.assertEqual(dest_dict, merged_dict)
def test_merge_without_list_merging(self): """ Test deep merging of dicts with merge_lists disabled. """ src = { "string_key": "string_val_src", "list_key": ["list_val_src"], "dict_key": { "dict_key_src": "dict_val_src" }, } dest = { "string_key": "string_val_dest", "list_key": ["list_val_dest"], "dict_key": { "dict_key_dest": "dict_val_dest" }, } merged = { "string_key": "string_val_src", "list_key": ["list_val_src"], "dict_key": { "dict_key_dest": "dict_val_dest", "dict_key_src": "dict_val_src", }, } defaults.merge(dest, src, merge_lists=False) self.assertEqual(dest, merged)
def test_merge_dest_is_none(): """ Test deep merging of dicts not in place. """ src = {"nested_dict": {"B": "B"}} src_orig = {"nested_dict": {"B": "B"}} final = defaults.merge(None, src, in_place=False) assert src == src_orig assert final == src_orig
def test_merge_src_is_none(): """ Test deep merging of dicts not in place. """ dest = {"nested_dict": {"B": "B"}} dest_orig = {"nested_dict": {"B": "B"}} final = defaults.merge(dest, None, in_place=False) assert dest == dest_orig assert final == dest_orig
def test_merge_without_list_merging(self): ''' Test deep merging of dicts with merge_lists disabled. ''' src = { 'string_key': 'string_val_src', 'list_key': [ 'list_val_src', ], 'dict_key': { 'dict_key_src': 'dict_val_src', } } dest = { 'string_key': 'string_val_dest', 'list_key': [ 'list_val_dest', ], 'dict_key': { 'dict_key_dest': 'dict_val_dest', } } merged = { 'string_key': 'string_val_src', 'list_key': ['list_val_src'], 'dict_key': { 'dict_key_dest': 'dict_val_dest', 'dict_key_src': 'dict_val_src' } } defaults.merge(dest, src, merge_lists=False) self.assertEqual(dest, merged)
def test_merge_with_list_merging(self): ''' Test deep merging of dicts with merge_lists enabled. ''' src_dict = { 'string_key': 'string_val_src', 'list_key': [ 'list_val_src', ], 'dict_key': { 'dict_key_src': 'dict_val_src', } } dest_dict = { 'string_key': 'string_val_dest', 'list_key': [ 'list_val_dest', ], 'dict_key': { 'dict_key_dest': 'dict_val_dest', } } merged_dict = { 'string_key': 'string_val_src', 'list_key': ['list_val_dest', 'list_val_src'], 'dict_key': { 'dict_key_dest': 'dict_val_dest', 'dict_key_src': 'dict_val_src' } } defaults.merge(dest_dict, src_dict, merge_lists=True) self.assertEqual(dest_dict, merged_dict)
def test_merge_not_in_place(self): """ Test deep merging of dicts not in place. """ src = {"nested_dict": {"A": "A"}} dest = {"nested_dict": {"B": "B"}} dest_orig = {"nested_dict": {"B": "B"}} merged = {"nested_dict": {"A": "A", "B": "B"}} final = defaults.merge(dest, src, in_place=False) self.assertEqual(dest, dest_orig) self.assertEqual(final, merged)
def test_merge_not_in_place(self): ''' Test deep merging of dicts not in place. ''' src = {'nested_dict': {'A': 'A'}} dest = {'nested_dict': {'B': 'B'}} dest_orig = {'nested_dict': {'B': 'B'}} merged = {'nested_dict': {'A': 'A', 'B': 'B'}} final = defaults.merge(dest, src, in_place=False) self.assertEqual(dest, dest_orig) self.assertEqual(final, merged)
def test_merge_not_in_place(): """ Test deep merging of dicts not in place. """ src = {"nested_dict": {"A": "A"}} dest = {"nested_dict": {"B": "B"}} dest_orig = {"nested_dict": {"B": "B"}} merged = {"nested_dict": {"A": "A", "B": "B"}} final = defaults.merge(dest, src, in_place=False) assert dest == dest_orig assert final == merged