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(), [
            '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
            '', ''
        ])
示例#2
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__)
示例#4
0
    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)
示例#6
0
 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)
示例#7
0
    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, '')
示例#8
0
    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])
示例#9
0
    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)
示例#11
0
    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()
示例#12
0
    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)
示例#14
0
    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(),
                         ['', '', '', '', '', '', '', '', '', '', '', '',
                          '', '', '', '', '', '', ''])