def __init__(self, file_to_module_map, modules, local_output_aggregate_for_individual_func, optimiseNodeNames=False, optimiseModuleNames=True, get_raw_modulename=lambda x: x): self.__selected_input_aggregates = modules self.__individual_to_input_aggregate_map = file_to_module_map self.__local_output_aggregate_to_input_aggregate_map = None self.__filter_input_aggregate_func = get_raw_modulename self.__local_output_aggregate_for_individual_func = local_output_aggregate_for_individual_func if optimiseNodeNames and len(self.__selected_input_aggregates) > 1: self.__local_output_aggregate_to_input_aggregate_map = \ dict(self.__local_output_aggregate_to_input_aggregate_iteritems()) if optimiseModuleNames: self.__selected_input_aggregates_common_prefix, self.__optimised_input_aggregates = \ StringTools.prefix_optimise(self.__selected_input_aggregates) else: self.__optimised_input_aggregates = dict() self.__selected_input_aggregates_common_prefix = ""
def test_optimise_prefix_strings_null(self): (prefix, optimised_map) = StringTools.prefix_optimise(("ABCD", "XYZ")) self.assertEquals('', prefix) self.assertEquals([('ABCD', 'ABCD'), ('XYZ', 'XYZ')], sorted(optimised_map.iteritems()))
def test_optimise_prefix_tuples(self): (prefix, optimised_map) = StringTools.prefix_optimise(((1, 2, 3), (1, 2, 4))) self.assertEquals((1,2), prefix) self.assertEquals([((1, 2, 3), (3,)), ((1, 2, 4), (4,))], sorted(optimised_map.iteritems()))
def test_optimise_prefix_strings(self): (prefix, optimised_map) = StringTools.prefix_optimise(("ABCD", "ABCE")) self.assertEquals('ABC', prefix) self.assertEquals([('ABCD', 'D'), ('ABCE', 'E')], sorted(optimised_map.iteritems()))