Skip to content

Commit c7f5815

Browse files
Add consistency check for TestGuiSystemLoading
1 parent d406185 commit c7f5815

File tree

1 file changed

+48
-1
lines changed

1 file changed

+48
-1
lines changed

mantidimaging/gui/test/gui_system_loading_test.py

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ def test_replace_image_stack(self, mocked_select_file):
235235
self.assertEqual(100, list(self.main_window.presenter.datasets)[0].sample.data.shape[0])
236236

237237
self.main_window.dataset_tree_widget.topLevelItem(0).setSelected(True)
238+
self._check_datasets_consistent()
238239

239240
self.main_window._add_images_to_existing_dataset()
240241
QTest.qWait(SHORT_DELAY)
@@ -246,5 +247,51 @@ def test_replace_image_stack(self, mocked_select_file):
246247

247248
self.main_window.add_to_dataset_dialog.accepted.emit()
248249
QTest.qWait(SHORT_DELAY)
249-
250+
self._check_datasets_consistent()
250251
self.assertEqual(20, list(self.main_window.presenter.datasets)[0].sample.data.shape[0])
252+
253+
def _check_datasets_consistent(self, show_datasets=False) -> None:
254+
print("_check_datasets_consistent")
255+
if show_datasets:
256+
print("Main window datasets")
257+
for k, v in self.main_window.presenter.model.datasets.items():
258+
print(" dataset:", k)
259+
for image_stack in v.all:
260+
print(" ", image_stack.id, image_stack.name)
261+
print("Main window visualisers/tabs")
262+
for vis in self.main_window.presenter.get_active_stack_visualisers():
263+
print(" ", vis.id, vis.name)
264+
print("Main window treeview")
265+
for i in range(self.main_window.dataset_tree_widget.topLevelItemCount()):
266+
tree_ds = self.main_window.dataset_tree_widget.topLevelItem(i)
267+
print(f" dataset: {tree_ds.id} {tree_ds.text(0)}")
268+
for j in range(tree_ds.childCount()):
269+
tree_is = tree_ds.child(j)
270+
print(f" {tree_is.id} {tree_is.text(0)}")
271+
272+
# Datasets
273+
open_dataset_ids = list(self.main_window.presenter.model.datasets.keys())
274+
self.assertEqual(len(open_dataset_ids), len(set(open_dataset_ids)))
275+
image_stack_ids = self.main_window.presenter.model.image_ids
276+
self.assertEqual(len(image_stack_ids), len(set(image_stack_ids)))
277+
278+
# Visualisers/Tabs
279+
visualiser_ids = [vis.id for vis in self.main_window.presenter.get_active_stack_visualisers()]
280+
self.assertEqual(len(visualiser_ids), len(set(visualiser_ids)))
281+
self.assertEqual(len(visualiser_ids), len(image_stack_ids))
282+
for visualiser_id in visualiser_ids:
283+
self.assertIn(visualiser_id, image_stack_ids)
284+
285+
#Tree view
286+
tree_datasets = [
287+
self.main_window.dataset_tree_widget.topLevelItem(i)
288+
for i in range(self.main_window.dataset_tree_widget.topLevelItemCount())
289+
]
290+
tree_image_stack_ids = []
291+
self.assertEqual(len(open_dataset_ids), len(tree_datasets))
292+
for tree_dataset in tree_datasets:
293+
self.assertIn(tree_dataset.id, open_dataset_ids)
294+
for i in range(tree_dataset.childCount()):
295+
tree_image_stack_ids.append(tree_dataset.child(i).id)
296+
self.assertEqual(len(tree_image_stack_ids), len(set(tree_image_stack_ids)))
297+
self.assertEqual(len(tree_image_stack_ids), len(image_stack_ids))

0 commit comments

Comments
 (0)