Exemple #1
0
    def setUp(self):
        AnalysisDataService.clear()
        ConfigService['MantidOptions.InvisibleWorkspaces'] = 'True'
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]

        self.load_result, self.run_number, self.filename, psi_data = load_workspace_from_filename(
            self.filepath)
        self.assert_(not psi_data)

        self.context = setup_context()
        self.context.gui_context.update({'RebinType': 'None'})
        self.loaded_data = self.context.data_context._loaded_data
        self.data_context = self.context.data_context
        self.gui_context = self.context.gui_context
        self.group_pair_context = self.context.group_pair_context
        self.data_context.instrument = 'EMU'

        self.loaded_data.add_data(workspace=self.load_result,
                                  run=[self.run_number],
                                  filename=self.filename,
                                  instrument='EMU')
        self.data_context.current_runs = [[self.run_number]]
        self.data_context.update_current_data()
        self.group_pair_context.reset_group_and_pairs_to_default(
            self.load_result['OutputWorkspace'][0].workspace, 'EMU', '', 1)

        self.run_list = [19489]
        self.groups = [MuonGroup("bwd"), MuonGroup("fwd")]
        self.rebins = [False, False]
        self.pairs = [MuonPair("long", "bwd", "fwd")]
Exemple #2
0
    def setUp(self):
        self.context = setup_context()
        self.model = mock.Mock(spec=PlotTimeFitPaneModel)
        self.model.name = "data"
        # manually add pane
        self.context.plot_panes_context.add_pane(self.model.name)

        self.view = mock.Mock(spec=BasePaneView)
        self.view.warning_popup = mock.MagicMock()
        self.view.disable_plot_raw_option()
        self.view.hide_plot_type = mock.Mock()
        self.view.hide_plot_raw = mock.Mock()
        self.view.hide_tiled_by = mock.Mock()

        self.figure_presenter = mock.Mock(
            spec=PlottingCanvasPresenterInterface)
        self.figure_presenter.set_errors = mock.Mock()
        self.figure_presenter.set_plot_range = mock.Mock()

        self.presenter = PlotModelFitPanePresenter(
            view=self.view,
            model=self.model,
            context=self.context,
            fitting_context=self.context.fitting_context,
            figure_presenter=self.figure_presenter)
    def setUp(self):
        self.context = setup_context(True)

        self.context.data_context.instrument = 'MUSR'
        self.context.data_context.num_periods = mock.Mock(return_value=1)

        self.context.gui_context.update({'RebinType': 'None'})

        self.view = maxent_view.MaxEntView()

        self.presenter = maxent_presenter.MaxEntPresenter(
            self.view, self.context)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename, _ = load_utils.load_workspace_from_filename(
            file_path)
        self.context.data_context._loaded_data.remove_data(run=run)
        self.context.data_context._loaded_data.add_data(run=[run],
                                                        workspace=ws,
                                                        filename=filename,
                                                        instrument='MUSR')
        self.context.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        test_pair = MuonPair('test_pair', 'top', 'bottom', alpha=0.75)
        self.context.group_pair_context.add_pair(pair=test_pair)
        self._count = 0
        self.view.warning_popup = mock.MagicMock()
Exemple #4
0
    def setUp(self, mock_dual_view, mock_quick_edit, mock_base_view,
              mock_plot_canvas, mock_main_view, mock_muon_base_view,
              mock_muon_canvas):
        self.mock_dual_view = mock_dual_view
        self.mock_quick_edit = mock_quick_edit
        self.mock_main_view = mock_main_view
        self.mock_base_view = mock_base_view
        self.mock_plot_canvas = mock_plot_canvas
        self.mock_muon_base_view = mock_muon_base_view
        self.mock_muon_canvas = mock_muon_canvas

        self.canvas = {}
        self._num_count = 0
        self._letter_count = 0

        self.mock_dual_view.return_value = mock.MagicMock(
            autospec=DualPlotMaxentPaneView)
        self.mock_quick_edit.return_value = mock.MagicMock(
            autospec=DualQuickEditWidget)
        self.mock_main_view.return_value = mock.MagicMock(
            autospec=MainPlotWidgetView)
        self.mock_base_view.return_value = mock.MagicMock(
            autospec=BasePaneView)
        self.mock_plot_canvas.side_effect = self.canvas_mocks
        self.mock_muon_base_view.return_value = mock.MagicMock(
            autospec=BasePaneView)
        self.mock_muon_canvas.side_effect = self.canvas_mocks

        self.context = setup_context(freq=True)
        self.widget = FrequencyAnalysisPlotWidget(self.context)
Exemple #5
0
    def test_get_pair_phasequad_name(self):
        AnalysisDataService.clear()
        ConfigService['MantidOptions.InvisibleWorkspaces'] = 'True'
        filepath = FileFinder.findRuns('EMU00019489.nxs')[0]

        load_result, run_number, filename, psi_data = load_workspace_from_filename(
            filepath)

        context = setup_context()
        context.gui_context.update({'RebinType': 'None'})
        context.data_context.instrument = 'EMU'

        context.data_context._loaded_data.add_data(workspace=load_result,
                                                   run=[run_number],
                                                   filename=filename,
                                                   instrument='EMU')
        context.data_context.current_runs = [[run_number]]
        context.data_context.update_current_data()

        self.assertEqual(
            "EMU19489; PhaseQuad; test_Re; MA",
            get_pair_phasequad_name(context, "test_Re", "19489", False))
        self.assertEqual(
            "EMU19489; PhaseQuad; test_Re; Rebin; MA",
            get_pair_phasequad_name(context, "test_Re", "19489", True))
 def setUp(self):
     context = setup_context()
     self.corrections_model = CorrectionsModel(context)
     self.model = DeadTimeCorrectionsModel(self.corrections_model,
                                           context.data_context,
                                           context.corrections_context)
     self.runs = [[84447], [84448], [84449]]
     self.coadd_runs = [[84447, 84448, 84449]]
Exemple #7
0
 def setUp(self):
     context = setup_context()
     self.model = GeneralFittingModel(context, context.fitting_context)
     self.dataset_names = ["Name1", "Name2"]
     self.fit_function = FunctionFactory.createFunction("FlatBackground")
     self.single_fit_functions = [
         self.fit_function.clone(),
         self.fit_function.clone()
     ]
     self.simultaneous_fit_function = FunctionFactory.createInitializedMultiDomainFunction(
         str(self.fit_function), len(self.dataset_names))
Exemple #8
0
 def setUp(self):
     context = setup_context()
     self.model = BasicFittingModel(context, context.fitting_context)
     self.dataset_names = [
         "EMU20884; Group; fwd; Asymmetry",
         "EMU20884; Group; top; Asymmetry"
     ]
     self.fit_function = FunctionFactory.createFunction("FlatBackground")
     self.single_fit_functions = [
         self.fit_function.clone(),
         self.fit_function.clone()
     ]
 def setUp(self):
     context = setup_context()
     self.model = ModelFittingModel(context, context.model_fitting_context)
     self.result_table_names = ["Result1", "Result2"]
     self.dataset_names = [
         "workspace_name_A0", "workspace_name_A1", "A0_A1"
     ]
     self.fit_function1 = FunctionFactory.createFunction("FlatBackground")
     self.fit_function2 = FunctionFactory.createFunction("LinearBackground")
     self.single_fit_functions = [
         self.fit_function1.clone(),
         self.fit_function1.clone(),
         self.fit_function2.clone()
     ]
    def setUp(self):
        self.context = setup_context()
        self.view = mock.MagicMock()
        self.view.fit_table = mock.MagicMock()
        self.model = mock.MagicMock()
        self.widget = SeqFittingTabWidget(context=self.context,
                                          model=self.model,
                                          parent=None,
                                          view=self.view)
        self.presenter = self.widget.seq_fitting_tab_presenter
        self.view.is_plotting_checked.return_value = False
        self.view.use_initial_values_for_fits.return_value = False
        self.presenter.create_thread = mock.MagicMock()

        self.view.fit_table.get_workspace_info_from_row = mock.MagicMock(
            return_value=["2224;2225", "bwd;fwd;top"])
    def setUp(self, mock_base_view, mock_plot_canvas, mock_main_view):
        self.mock_main_view = mock_main_view
        self.mock_base_view = mock_base_view
        self.mock_plot_canvas = mock_plot_canvas
        self.canvas = {}
        self._num_count = 0
        self._letter_count = 0

        self.mock_main_view.return_value = mock.MagicMock(
            autospec=MainPlotWidgetView)
        self.mock_base_view.return_value = mock.MagicMock(
            autospec=BasePaneView)
        self.mock_plot_canvas.side_effect = self.canvas_mocks

        self.context = setup_context(False)
        self.widget = MuonAnalysisPlotWidget(self.context)
    def setUp(self):
        self.filepath = FileFinder.findRuns('EMU00019489.nxs')[0]
        self.load_result, self.run_number, self.filename, _ = load_workspace_from_filename(self.filepath)

        self.context = setup_context()
        self.context.gui_context.update({'RebinType': 'None'})
        self.model = CorrectionsModel(self.context)
        self.runs = [[84447], [84448], [84449]]
        self.coadd_runs = [[84447, 84448, 84449]]

        self.context.data_context.instrument = 'EMU'
        self.context.data_context._loaded_data.add_data(workspace=self.load_result, run=[self.run_number],
                                                        filename=self.filename, instrument='EMU')
        self.context.data_context.current_runs = [[self.run_number]]
        self.context.data_context.update_current_data()
        self.context.group_pair_context.reset_group_and_pairs_to_default(
            self.load_result['OutputWorkspace'][0].workspace, 'EMU', '', 1)
 def setUp(self, basepane_mock):
     self.context = setup_context()
     self.count = 0
     user_mocked_vals = "one", [3.0, 8.0], 2, [-0.323, 0.436], False
     self.data_canvas = self.set_plot_values(user_mocked_vals)
     self.fit_canvas = mock.Mock(spec=PlottingCanvasWidget)
     basepane_mock_return = mock.MagicMock()
     basepane_mock.return_value = basepane_mock_return
     self.plot_widget = MuonAnalysisPlotWidget(self.context)
     self.plot_widget.data_model = mock.Mock(spec=PlotDataPaneModel)
     self.plot_widget.fit_model = mock.Mock(spec=PlotTimeFitPaneModel)
     self.plot_widget.view = mock.Mock(spec=MainPlotWidgetView)
     self.plot_widget.models = mock.Mock()
     self.plot_widget._current_plot_mode = self.change_plot_mode()
     self.plot_widget.presenter = mock.Mock(spec=MainPlotWidgetPresenter)
     self.plot_widget.plotting_canvas_widgets[
         "Plot Data"] = self.data_canvas
     self.plot_widget.plotting_canvas_widgets["Fit Data"] = self.fit_canvas
    def _setup_presenter(self):
        self.context = setup_context()
        self.presenter = CorrectionsPresenter(self.view, self.model,
                                              self.context)
        self.presenter.disable_editing_notifier = mock.Mock()
        self.presenter.enable_editing_notifier = mock.Mock()
        self.presenter.asymmetry_pair_and_diff_calculations_finished_notifier = mock.Mock(
        )

        self.presenter.dead_time_presenter.initialize_model_options = mock.Mock(
        )
        self.presenter.dead_time_presenter.handle_ads_clear_or_remove_workspace_event = mock.Mock(
        )
        self.presenter.dead_time_presenter.handle_instrument_changed = mock.Mock(
        )
        self.presenter.dead_time_presenter.handle_run_selector_changed = mock.Mock(
        )
        self.presenter.dead_time_presenter.handle_pre_process_and_counts_calculated = mock.Mock(
        )

        self.presenter.background_presenter.initialize_model_options = mock.Mock(
        )
        self.presenter.background_presenter.handle_instrument_changed = mock.Mock(
        )
        self.presenter.background_presenter.handle_runs_loaded = mock.Mock()
        self.presenter.background_presenter.handle_run_selector_changed = mock.Mock(
        )
        self.presenter.background_presenter.handle_groups_changed = mock.Mock()
        self.presenter.background_presenter.handle_pre_process_and_counts_calculated = mock.Mock(
        )
        self.presenter.background_presenter.handle_background_corrections_for_all_finished = mock.Mock(
        )

        self.presenter._handle_selected_table_is_invalid = mock.Mock()
        self.presenter._notify_perform_dead_time_corrections = mock.Mock()
        self.presenter._perform_asymmetry_pairs_and_diffs_calculation = mock.Mock(
        )

        # Mock the correction result property
        self.presenter.thread_model_wrapper = mock.Mock(spec=ThreadModel)
        self.mock_presenter_correction_results = mock.PropertyMock(
            return_value=(self.run_strings, self.groups))
        type(self.presenter.thread_model_wrapper
             ).result = self.mock_presenter_correction_results
Exemple #15
0
    def setUp(self):
        self.view = PhaseTableView()
        self.context = setup_context()
        self.context.data_context.instrument = 'MUSR'

        self.presenter = PhaseTablePresenter(self.view, self.context)

        forward_group = MuonGroup(group_name="fwd",
                                  detector_ids=[1, 3, 5, 7, 9])
        backward_group = MuonGroup(group_name="bwd",
                                   detector_ids=[2, 4, 6, 8, 10])

        self.context.group_pair_context.add_group(forward_group)
        self.context.group_pair_context.add_group(backward_group)
        self.presenter.update_current_groups_list()

        self.view.warning_popup = mock.MagicMock()
        self.view.enter_phase_table_name = mock.Mock()
        self.view.enter_phase_table_name.side_effect = phase_table_name_side_effect
 def setUp(self):
     self.context = setup_context(True)
     # create widget
     self.widget = transform_widget.TransformWidget(self.context, FFTWidget,
                                                    MaxEntWidget)
     self.widget._maxent._presenter = mock.MagicMock(
     )  #create_autospec(maxent_presenter_new.MaxEntPresenter, spec_set=True)
     self.widget._fft._presenter = mock.MagicMock(
     )  #create_autospec(fft_presenter_new.FFTPresenter, spec_Set=True)
     # create the view
     self.view = mock.create_autospec(transform_view.TransformView,
                                      spec_set=False)
     self.view.getView = mock.Mock()
     self.view.getMethods = mock.Mock(return_value=["FFT", "MaxEnt"])
     self.view.hideAll = mock.Mock()
     self.view.showMethod = mock.Mock()
     self.view.selection = mock.create_autospec(
         transform_selection_view.TransformSelectionView, spec_set=True)
     self.view.selection.changeMethodSignal = mock.Mock()
     # set the mocked view to the widget
     self.widget.mockWidget(self.view)
    def setUp(self):
        context = setup_context()
        self.model = TFAsymmetryFittingModel(context, context.fitting_context)
        self.dataset_names = [
            "EMU20884; Group; fwd; Asymmetry",
            "EMU20884; Group; top; Asymmetry"
        ]
        self.tf_non_compliant_dataset_names = [
            "EMU20884; Group; fwd; Asymmetry",
            "EMU20884; Pair Asym; long; Asymmetry"
        ]
        self.fit_function = FunctionFactory.createFunction("FlatBackground")
        self.single_fit_functions = [
            self.fit_function.clone(),
            self.fit_function.clone()
        ]
        self.simultaneous_fit_function = FunctionFactory.createInitializedMultiDomainFunction(
            str(self.fit_function), len(self.dataset_names))

        self.tf_single_function = create_tf_asymmetry_function(
            self.fit_function.clone())
        self.tf_single_fit_functions = [
            self.tf_single_function.clone(),
            self.tf_single_function.clone()
        ]
        self.tf_simultaneous_fit_function = FunctionFactory.createInitializedMultiDomainFunction(
            str(self.tf_single_function), len(self.dataset_names))

        CreateSampleWorkspace(Function="One Peak",
                              XMin=0.0,
                              XMax=15.0,
                              BinWidth=0.1,
                              OutputWorkspace=self.dataset_names[0])
        CreateSampleWorkspace(Function="One Peak",
                              XMin=0.0,
                              XMax=15.0,
                              BinWidth=0.1,
                              OutputWorkspace=self.dataset_names[1])
Exemple #18
0
    def setUp(self):
        self.context = setup_context(True)

        self.context.data_context.instrument = 'MUSR'

        self.context.gui_context.update({'RebinType': 'None'})

        self.view = fft_view.FFTView()
        self.model1 = fft_model.FFTModel()
        self.model = fft_model.FFTWrapper

        self.run_list = [22725]
        self.groups = [MuonGroup(group) for group in GROUP_LIST]
        self.rebins = [False] * len(self.groups)
        self.pairs = [MuonPair(EXAMPLE_PAIR, 'top', 'bottom', alpha=0.75)]

        self.presenter = fft_presenter.FFTPresenter(self.view, self.model,
                                                    self.context)

        file_path = FileFinder.findRuns('MUSR00022725.nxs')[0]
        ws, run, filename, _ = load_utils.load_workspace_from_filename(
            file_path)
        self.context.data_context._loaded_data.remove_data(run=run)
        self.context.data_context._loaded_data.add_data(run=[run],
                                                        workspace=ws,
                                                        filename=filename,
                                                        instrument='MUSR')
        self.context.data_context.current_runs = [[22725]]

        self.context.update_current_data()
        self.context.group_pair_context.add_pair(pair=self.pairs[0])
        self._calculate_all_data()
        self.context.group_pair_context._selected_groups = GROUP_LIST
        self.context.group_pair_context._selected_pairs = [EXAMPLE_PAIR]

        self.view.warning_popup = mock.MagicMock()
 def setUp(self):
     self.context = setup_context(False)
     self.context.data_context.instrument = "MUSR"
     self.model = RawPaneModel(self.context)
     self.name = self.model.name
 def setUp(self):
     self.model = BasePaneModel(context=setup_context(False))
 def setUpClass(cls):
     cls.context = setup_context()
Exemple #22
0
 def setUpClass(cls):
     cls.context = setup_context(freq=True)