@@ -56,3 +56,61 @@ def test_add_roi(self) -> None:
56
56
self .assertEqual (final_roi_count , initial_roi_count + 1 )
57
57
self .assertIn (f'roi_{ i } ' , self .spectrum_window .roi_table_model .roi_names ())
58
58
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