예제 #1
0
 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()
예제 #2
0
 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()