def test_on_erase_rows_updates_view(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[1, 2]) presenter.set_view(view) test_row_0 = [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', '' ] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_0) presenter.on_row_inserted(2, test_row_0) presenter.update_view_from_table_model = mock.MagicMock() presenter.on_erase_rows() self.assertEqual(presenter._table_model._table_entries[0].to_list(), [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', '' ]) self.assertEqual(presenter._table_model._table_entries[1].to_list(), [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]) self.assertEqual(presenter._table_model._table_entries[2].to_list(), [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ])
def test_on_paste_rows_requested_replaces_first_row_and_removes_rest_if_multiple_rows_selected( self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0, 2]) presenter.set_view(view) test_row_0 = [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '' ] test_row_1 = [ 'SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '' ] test_row_2 = [ 'SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file3', '', '1.0', '' ] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter.on_row_inserted(2, test_row_2) presenter._clipboard = [test_row_2] presenter.on_paste_rows_requested() self.assertEqual(presenter._table_model.get_number_of_rows(), 2) self.assertEqual( presenter._table_model.get_table_entry(0).to_list(), test_row_2) self.assertEqual( presenter._table_model.get_table_entry(1).to_list(), test_row_1)
def test_on_erase_rows_clears_rows_from_table_model(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[1, 2]) presenter.set_view(view) test_row_0 = [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', '' ] empty_row = TableModel.create_empty_row() presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_0) presenter.on_row_inserted(2, test_row_0) presenter.on_erase_rows() self.assertEqual(presenter._table_model.get_number_of_rows(), 3) self.assertEqual( presenter._table_model.get_table_entry(0).to_list(), test_row_0) empty_row.id = 3 self.assertEqual( presenter._table_model.get_table_entry(1).__dict__, empty_row.__dict__) empty_row.id = 4 self.assertEqual( presenter._table_model.get_table_entry(2).__dict__, empty_row.__dict__)
def test_on_insert_row_adds_row_to_table_model_after_selected_row(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0]) presenter.set_view(view) test_row_0 = [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '' ] test_row_1 = [ 'SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '' ] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter.on_insert_row() self.assertEqual(presenter._table_model.get_number_of_rows(), 3) self.assertEqual( presenter._table_model.get_table_entry(1).to_list(), [''] * 16) self.assertEqual( presenter._table_model.get_table_entry(0).to_list(), test_row_0) self.assertEqual( presenter._table_model.get_table_entry(2).to_list(), test_row_1)
def test_notify_progress_increments_progress(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', ''] presenter.on_row_inserted(0, test_row_0) presenter.notify_progress(0, [0.0], [1.0]) self.assertEqual(presenter.progress, 1) self.assertEqual(presenter._view.progress_bar_value, 1)
def test_notify_progress_increments_progress(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() presenter.set_view(view) test_row_0 = [ 'SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '' ] presenter.on_row_inserted(0, test_row_0) presenter.notify_progress(0) self.assertEqual(presenter.progress, 1) self.assertEqual(presenter._view.progress_bar_value, 1)
def test_that_notify_progress_updates_state_and_tooltip_of_row(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', ''] presenter.on_row_inserted(0, test_row_0) presenter.notify_progress(0, [], []) self.assertEqual(presenter._table_model.get_table_entry(0).row_state, RowState.Processed) self.assertEqual(presenter._table_model.get_table_entry(0).tool_tip, '')
def test_on_cut_rows_requested_updates_clipboard(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0]) presenter.set_view(view) test_row = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row) presenter.on_cut_rows_requested() self.assertEqual(presenter._clipboard, [test_row])
def test_on_insert_row_updates_table_model(self): presenter = RunTabPresenter(SANSFacility.ISIS) presenter.set_view(mock.MagicMock()) row = [ '74044', '', '74044', '', '74044', '', '74044', '', '74044', '', '74044', '', 'test_reduction', 'user_file', '1.2', '' ] index = 0 presenter.on_row_inserted(index, row) self.assertEqual(presenter._table_model.get_number_of_rows(), 1) model_row = presenter._table_model.get_table_entry(0) self.assertEqual(model_row, TableIndexModel(*row))
def test_on_insert_row_updates_table_model(self): presenter = RunTabPresenter(SANSFacility.ISIS) presenter.set_view(mock.MagicMock()) row = ['74044', '', '74044', '', '74044', '', '74044', '', '74044', '', '74044', '', 'test_reduction' , 'user_file', '1.2', ''] index = 0 expected_table_index_model = TableIndexModel(*row) expected_table_index_model.id = 0 expected_table_index_model.file_finding = True presenter.on_row_inserted(index, row) self.assertEqual(presenter._table_model.get_number_of_rows(), 1) model_row = presenter._table_model.get_table_entry(0) self.assertEqual(model_row, expected_table_index_model)
def test_on_insert_row_updates_view(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] test_row_1 = ['SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter.update_view_from_table_model = mock.MagicMock() presenter.on_insert_row() presenter.update_view_from_table_model.assert_called_once_with()
def test_that_notify_progress_updates_state_and_tooltip_of_row_for_scale_and_shift(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', ''] presenter.on_row_inserted(0, test_row_0) presenter.notify_progress(0, [0.0], [1.0]) self.assertEqual(presenter._table_model.get_table_entry(0).row_state, RowState.Processed) self.assertEqual(presenter._table_model.get_table_entry(0).options_column_model.get_options_string(), 'MergeScale=1.0, MergeShift=0.0') self.assertEqual(presenter.progress, 1) self.assertEqual(presenter._view.progress_bar_value, 1)
def test_on_cut_rows_requested_removes_selected_rows(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] test_row_1 = ['SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter.on_cut_rows_requested() self.assertEqual(presenter._table_model.get_number_of_rows(), 1) self.assertEqual(presenter._table_model.get_table_entry(0).to_list(), test_row_1)
def test_on_paste_rows_requested_appends_new_row_if_no_row_selected(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] test_row_1 = ['SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter._clipboard = [test_row_0] presenter.on_paste_rows_requested() self.assertEqual(presenter._table_model.get_number_of_rows(), 3) self.assertEqual(presenter._table_model.get_table_entry(2).to_list(), test_row_0)
def test_on_paste_rows_requested_replaces_first_row_and_removes_rest_if_multiple_rows_selected(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[0, 2]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] test_row_1 = ['SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file2', '', '1.0', '', '', '', ''] test_row_2 = ['SANS2D00022024', '', '', '', '', '', '', '', '', '', '', '', 'test_file3', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_1) presenter.on_row_inserted(2, test_row_2) presenter._clipboard = [test_row_2] presenter.on_paste_rows_requested() self.assertEqual(presenter._table_model.get_number_of_rows(), 2) self.assertEqual(presenter._table_model.get_table_entry(0).to_list(), test_row_2) self.assertEqual(presenter._table_model.get_table_entry(1).to_list(), test_row_1)
def test_on_erase_rows_clears_rows_from_table_model(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[1, 2]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] empty_row = TableModel.create_empty_row() presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_0) presenter.on_row_inserted(2, test_row_0) presenter.on_erase_rows() self.assertEqual(presenter._table_model.get_number_of_rows(), 3) self.assertEqual(presenter._table_model.get_table_entry(0).to_list(), test_row_0) empty_row.id = 3 self.assertEqual(presenter._table_model.get_table_entry(1).__dict__, empty_row.__dict__) empty_row.id = 4 self.assertEqual(presenter._table_model.get_table_entry(2).__dict__, empty_row.__dict__)
def test_on_erase_rows_updates_view(self): presenter = RunTabPresenter(SANSFacility.ISIS) view = mock.MagicMock() view.get_selected_rows = mock.MagicMock(return_value=[1, 2]) presenter.set_view(view) test_row_0 = ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', ''] presenter.on_row_inserted(0, test_row_0) presenter.on_row_inserted(1, test_row_0) presenter.on_row_inserted(2, test_row_0) presenter.update_view_from_table_model = mock.MagicMock() presenter.on_erase_rows() self.assertEqual(presenter._table_model._table_entries[0].to_list(), ['SANS2D00022024', '', 'SANS2D00022048', '', 'SANS2D00022048', '', '', '', '', '', '', '', 'test_file', '', '1.0', '', '', '', '']) self.assertEqual(presenter._table_model._table_entries[1].to_list(), ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']) self.assertEqual(presenter._table_model._table_entries[2].to_list(), ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''])