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")]
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()
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)
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]]
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))
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
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])
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()
def setUpClass(cls): cls.context = setup_context(freq=True)