def test_inserting_items_into_model_with_sort_key_and_filter_puts_them_in_correct_order(self): list_model = ListModel.ListModel("data_items") filtered_data_items = ListModel.FilteredListModel(items_key="data_items") filtered_data_items.container = list_model filtered_data_items.filter = ListModel.StartsWithFilter("title", "D") filtered_data_items.sort_key = operator.attrgetter("title") data_items = list() for value in TestDataItemsModelModule.values: data_item = DataItem.DataItem(numpy.zeros((16, 16), numpy.uint32)) data_item.title = value list_model.insert_item(0, data_item) data_items.append(data_item) self.assertEqual([d.title for d in filtered_data_items.items], sorted([d.title for d in filtered_data_items.items])) for data_item in data_items: data_item.close()
def test_inserting_items_into_model_index0_without_sort_key__but_with_filter_puts_them_in_same_order(self): values = ["DEF", "ABC", "GHI", "DFG", "ACD", "GIJ"] indexes = [0, 0, 1, 1, 2, 4] result = ["ABC", "DFG", "ACD", "GHI", "GIJ", "DEF"] list_model = ListModel.ListModel("data_items") filtered_data_items = ListModel.FilteredListModel(items_key="data_items") filtered_data_items.container = list_model filtered_data_items.filter = ListModel.NotFilter(ListModel.StartsWithFilter("title", "D")) data_items = list() for index, value in enumerate(values): data_item = DataItem.DataItem(numpy.zeros((16, 16), numpy.uint32)) data_item.title = value list_model.insert_item(indexes[index], data_item) data_items.append(data_item) self.assertEqual([d.title for d in filtered_data_items.items], [v for v in result if not v.startswith("D")]) for data_item in data_items: data_item.close()