Skip to content

Commit a40660a

Browse files
committed
tests added
1 parent 31f6373 commit a40660a

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2320: Enhance System Tests for Spectrum Viewer

mantidimaging/gui/test/gui_system_spectrum_test.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,61 @@ def test_add_roi(self) -> None:
5656
self.assertEqual(final_roi_count, initial_roi_count + 1)
5757
self.assertIn(f'roi_{i}', self.spectrum_window.roi_table_model.roi_names())
5858
self.assertIn(f'roi_{i}', self.spectrum_window.spectrum_widget.roi_dict)
59+
60+
def test_change_roi_color(self) -> None:
61+
QTest.mouseClick(self.spectrum_window.addBtn, Qt.MouseButton.LeftButton)
62+
QTest.qWait(SHORT_DELAY)
63+
64+
new_color = (255, 0, 0, 255)
65+
self.spectrum_window.spectrum_widget.change_roi_colour('roi_1', new_color)
66+
67+
self.assertEqual(self.spectrum_window.spectrum_widget.roi_dict['roi_1'].colour, new_color)
68+
69+
def test_rename_roi(self) -> None:
70+
QTest.mouseClick(self.spectrum_window.addBtn, Qt.MouseButton.LeftButton)
71+
QTest.qWait(SHORT_DELAY)
72+
73+
old_name = 'roi_1'
74+
new_name = 'roi_renamed'
75+
self.spectrum_window.presenter.rename_roi(old_name, new_name)
76+
77+
self.assertNotIn(old_name, self.spectrum_window.spectrum_widget.roi_dict)
78+
self.assertIn(new_name, self.spectrum_window.spectrum_widget.roi_dict)
79+
80+
def test_adjust_roi(self):
81+
QTest.mouseClick(self.spectrum_window.addBtn, Qt.MouseButton.LeftButton)
82+
QTest.qWait(SHORT_DELAY)
83+
roi_name = self.spectrum_window.presenter.get_roi_names()[0]
84+
roi = self.spectrum_window.presenter.model.get_roi(roi_name)
85+
new_roi = roi.copy()
86+
new_roi.left += 10
87+
new_roi.top += 10
88+
self.spectrum_window.presenter.model.set_roi(roi_name, new_roi)
89+
self.spectrum_window.presenter.handle_roi_moved()
90+
updated_roi = self.spectrum_window.presenter.model.get_roi(roi_name)
91+
assert updated_roi.left == new_roi.left
92+
assert updated_roi.top == new_roi.top
93+
94+
def test_reset_units_menu(self) -> None:
95+
self.assertFalse(self.spectrum_window.tof_mode_select_group.isEnabled())
96+
97+
self.spectrum_window.presenter.handle_sample_change("sample_uuid")
98+
self.assertTrue(self.spectrum_window.tof_mode_select_group.isEnabled())
99+
100+
def test_normalisation_toggle(self):
101+
self.spectrum_window.normaliseCheckBox.setCheckState(Qt.CheckState.Checked)
102+
QTest.qWait(SHORT_DELAY)
103+
assert self.spectrum_window.presenter.spectrum_mode == SpecType.SAMPLE_NORMED
104+
105+
self.spectrum_window.normaliseCheckBox.setCheckState(Qt.CheckState.Unchecked)
106+
QTest.qWait(SHORT_DELAY)
107+
assert self.spectrum_window.presenter.spectrum_mode == SpecType.SAMPLE
108+
109+
def test_export_csv(self) -> None:
110+
with mock.patch("mantidimaging.gui.windows.spectrum_viewer.view.QFileDialog.getSaveFileName",
111+
return_value=("test_output.csv", "CSV Files (*.csv)")):
112+
self.spectrum_window.presenter.handle_export_csv()
113+
114+
with open("test_output.csv", "r") as file:
115+
lines = file.readlines()
116+
self.assertGreater(len(lines), 1)

0 commit comments

Comments
 (0)