diff --git a/instrument/unit_testing/REFL_Parameters_Monitor.xml b/instrument/unit_testing/REFL_Parameters_Monitor.xml index 3e2a4249394b0479ac23b0309ae19eeeff1a0438..751bb71b36ed1bce41c65a120ebd304904f64550 100644 --- a/instrument/unit_testing/REFL_Parameters_Monitor.xml +++ b/instrument/unit_testing/REFL_Parameters_Monitor.xml @@ -15,6 +15,10 @@ <value val="18.0"/> </parameter> + <parameter name="NormalizeByIntegratedMonitors"> + <value val="1"/> + </parameter> + <parameter name="MonitorIntegralMin"> <value val="4.0"/> </parameter> diff --git a/qt/scientific_interfaces/test/ISISReflectometry/Experiment/ExperimentPresenterTest.h b/qt/scientific_interfaces/test/ISISReflectometry/Experiment/ExperimentPresenterTest.h index b38831cebfb2208b26dfdade6d71f5236ec118dc..a2f500df0c292ad06cdda5d8e472916f4075bd90 100644 --- a/qt/scientific_interfaces/test/ISISReflectometry/Experiment/ExperimentPresenterTest.h +++ b/qt/scientific_interfaces/test/ISISReflectometry/Experiment/ExperimentPresenterTest.h @@ -441,21 +441,37 @@ public: verifyAndClear(); } - void testRestoreDefaultsUpdatesAnalysisMode() { + void testRestoreDefaultsUpdatesAnalysisModeInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Analysis"); + EXPECT_CALL(m_view, setAnalysisMode("MultiDetectorAnalysis")).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesAnalysisModeInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Analysis"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Analysis.xml TS_ASSERT_EQUALS(presenter.experiment().analysisMode(), AnalysisMode::MultiDetector); verifyAndClear(); } - void testRestoreDefaultsUpdatesReductionOptions() { + void testRestoreDefaultsUpdatesReductionOptionsInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Reduction"); + EXPECT_CALL(m_view, setSummationType("SumInQ")).Times(1); + EXPECT_CALL(m_view, setReductionType("NonFlatSample")).Times(1); + EXPECT_CALL(m_view, setIncludePartialBins(true)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesReductionOptionsInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Reduction"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Reduction.xml TS_ASSERT_EQUALS(presenter.experiment().summationType(), SummationType::SumInQ); TS_ASSERT_EQUALS(presenter.experiment().reductionType(), @@ -464,20 +480,37 @@ public: verifyAndClear(); } - void testRestoreDefaultsUpdatesDebugOptions() { + void testRestoreDefaultsUpdatesDebugOptionsInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Debug"); + EXPECT_CALL(m_view, setDebugOption(true)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesDebugOptionsInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Debug"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Debug.xml TS_ASSERT_EQUALS(presenter.experiment().debug(), true); verifyAndClear(); } - void testRestoreDefaultsUpdatesPerTheta() { + void testRestoreDefaultsUpdatesPerThetaInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("PerTheta"); + auto const expected = std::vector<std::array<std::string, 8>>{ + {"", "", "", "0.010000", "0.200000", "0.030000", "0.700000", + "390-415"}}; + EXPECT_CALL(m_view, setPerAngleOptions(expected)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesPerThetaInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("PerTheta"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_PerTheta.xml auto expected = PerThetaDefaults(boost::none, TransmissionRunPair(), RangeInQ(0.01, 0.03, 0.2), 0.7, std::string("390-415")); @@ -487,21 +520,38 @@ public: verifyAndClear(); } - void testRestoreDefaultsUpdatesTransmissionRunRange() { + void testRestoreDefaultsUpdatesTransmissionRunRangeInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("TransmissionRunRange"); + EXPECT_CALL(m_view, setTransmissionStartOverlap(10.0)).Times(1); + EXPECT_CALL(m_view, setTransmissionEndOverlap(12.0)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesTransmissionRunRangeInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("TransmissionRunRange"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_TransmissionRunRange.xml auto const expected = RangeInLambda{10.0, 12.0}; TS_ASSERT_EQUALS(presenter.experiment().transmissionRunRange(), expected); verifyAndClear(); } - void testRestoreDefaultsUpdatesCorrection() { + void testRestoreDefaultsUpdatesCorrectionInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Correction"); + EXPECT_CALL(m_view, setPolarizationCorrectionType("ParameterFile")) + .Times(1); + EXPECT_CALL(m_view, setFloodCorrectionType("ParameterFile")).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesCorrectionInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Correction"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Correction.xml TS_ASSERT_EQUALS( presenter.experiment().polarizationCorrections().correctionType(), PolarizationCorrectionType::ParameterFile); diff --git a/qt/scientific_interfaces/test/ISISReflectometry/Instrument/InstrumentPresenterTest.h b/qt/scientific_interfaces/test/ISISReflectometry/Instrument/InstrumentPresenterTest.h index c3e952ab10d56d5da5610e6aefa150bad44b31d9..baa01df7c3bc19ca0b0cbf28bc467dbca75dab97 100644 --- a/qt/scientific_interfaces/test/ISISReflectometry/Instrument/InstrumentPresenterTest.h +++ b/qt/scientific_interfaces/test/ISISReflectometry/Instrument/InstrumentPresenterTest.h @@ -259,12 +259,25 @@ public: verifyAndClear(); } - void testRestoreDefaultsUpdatesMonitorOptions() { + void testRestoreDefaultsUpdatesMonitorOptionsInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Monitor"); + EXPECT_CALL(m_view, setMonitorIndex(2)).Times(1); + EXPECT_CALL(m_view, setIntegrateMonitors(true)).Times(1); + EXPECT_CALL(m_view, setMonitorBackgroundMin(17.0)).Times(1); + EXPECT_CALL(m_view, setMonitorBackgroundMax(18.0)).Times(1); + EXPECT_CALL(m_view, setMonitorIntegralMin(4.0)).Times(1); + EXPECT_CALL(m_view, setMonitorIntegralMax(10.0)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesMonitorOptionsInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Monitor"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Monitor.xml TS_ASSERT_EQUALS(presenter.instrument().monitorIndex(), 2); + TS_ASSERT_EQUALS(presenter.instrument().integratedMonitors(), true); TS_ASSERT_EQUALS(presenter.instrument().monitorBackgroundRange(), RangeInLambda(17.0, 18.0)); TS_ASSERT_EQUALS(presenter.instrument().monitorIntegralRange(), @@ -272,21 +285,38 @@ public: verifyAndClear(); } - void testRestoreDefaultsUpdatesWavelengthRange() { + void testRestoreDefaultsUpdatesWavelengthRangeInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("WavelengthRange"); + EXPECT_CALL(m_view, setLambdaMin(1.5)).Times(1); + EXPECT_CALL(m_view, setLambdaMax(17.0)).Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesWavelengthRangeInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("WavelengthRange"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_WavelengthRange.xml TS_ASSERT_EQUALS(presenter.instrument().wavelengthRange(), RangeInLambda(1.5, 17.0)); verifyAndClear(); } - void testRestoreDefaultsUpdatesUpdatesDetectorOptions() { + void testRestoreDefaultsUpdatesUpdatesDetectorOptionsInView() { + auto presenter = makePresenter(); + expectInstrumentWithParameters("Detector"); + EXPECT_CALL(m_view, setCorrectDetectors(true)).Times(1); + EXPECT_CALL(m_view, setDetectorCorrectionType("RotateAroundSample")) + .Times(1); + presenter.notifyRestoreDefaultsRequested(); + verifyAndClear(); + } + + void testRestoreDefaultsUpdatesUpdatesDetectorOptionsInModel() { auto presenter = makePresenter(); expectInstrumentWithParameters("Detector"); presenter.notifyRestoreDefaultsRequested(); - // Compare with REFL_Parameters_Detector.xml auto const expected = DetectorCorrections(true, DetectorCorrectionType::RotateAroundSample); TS_ASSERT_EQUALS(presenter.instrument().detectorCorrections(), expected);