Exemple #1
0
 def test_sorted_filtered_model_updates_when_data_item_exits_filter(self):
     def sort_by_date_key(data_item):
         return data_item.created
     with TestContext.create_memory_context() as test_context:
         document_model = test_context.create_document_model()
         filtered_data_items = ListModel.FilteredListModel(items_key="data_items")
         filtered_data_items.container = document_model
         filtered_data_items.filter = ListModel.NotFilter(ListModel.EqFilter("is_live", True))
         filtered_data_items.sort_key = sort_by_date_key
         for _ in range(4):
             data_item = DataItem.DataItem(numpy.zeros((16, 16), numpy.uint32))
             document_model.append_data_item(data_item)
         self.assertEqual(len(filtered_data_items.items), 4)
         with document_model.data_item_live(document_model.data_items[0]):
             document_model.data_items[0].data_item_changed_event.fire()
             self.assertEqual(len(filtered_data_items.items), 3)
Exemple #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()