def _get_select_tasks_and_datasets_data(self, datasets=(), tasks=()): data = {} if any(datasets): data = self._get_data_selected_datasets(datasets) if any(tasks): filtered = self._get_data_selected_tasks(tasks) data = dict(merge_dicts(data, filtered)) return data
def test_merge_two_dicts(self): dict1 = { 4: ['some', 'data', 'here'], 1: { "a": "A" }, 2: { "b": "B" }, 3: { 'd': { 'Y': 2, 'U': (3, 2, 1), 4: ('stuff') } } } dict2 = {2: {"c": "C"}, 3: {"d": "D"}} result = merge_dicts(dict1, dict2) assert sorted(dict(result)) == sorted({ 1: { 'a': 'A' }, 2: { 'b': 'B', 'c': 'C' }, 3: { 'd': { 'Y': 2, 4: 'stuff', 'X': 1, 'U': (3, 2, 1) } }, 4: ['some', 'data', 'here'] })
def test_raises_error_missing_one_input_args(self): with pytest.raises(TypeError): merge_dicts({1: 1})
def test_raises_error_missing_too_many_input_args(self): with pytest.raises(TypeError): merge_dicts({1: 1}, {2: 2}, {3: 3})