def _get_software_in_more_than_one_but_not_in_all(self, fo_list, result_dict): result = {} for i in range(len(fo_list)): tmp_list = deepcopy(fo_list) current_element = tmp_list.pop(i) result[current_element.get_uid()] = list(difference_of_sets(set(self._get_software_list(current_element)), [result_dict['software_in_common']['all'], result_dict['exclusive_software'][current_element.get_uid()]])) result['collapse'] = True return result
def _get_files_in_more_than_one_but_not_in_all(fo_list, result_dict): result = {} for _, current_element in enumerate(fo_list): result[current_element.uid] = list(difference_of_sets( set(current_element.list_of_all_included_files), [result_dict['files_in_common']['all'], result_dict['exclusive_files'][current_element.uid]] )) return result
def test_difference_set_list_of_sets(self): base = set('abcde') a = set('bcd') b = set('ef') result = difference_of_sets(base, [a, b]) self.assertEqual(result, set('a'), 'result not correct')