From ac9e06d57c0e594c4e463311b0b76f9427612d76 Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Wed, 28 Aug 2024 16:01:52 +0100 Subject: [PATCH 1/9] Add Boilerplate system test code RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py new file mode 100644 index 000000000000..41493a79a9a2 --- /dev/null +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -0,0 +1,19 @@ +# Mantid Repository : https://github.com/mantidproject/mantid +# +# Copyright © 2024 ISIS Rutherford Appleton Laboratory UKRI, +# NScD Oak Ridge National Laboratory, European Spallation Source, +# Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS +# SPDX - License - Identifier: GPL - 3.0 + + +import systemtesting + +from mantid import * +from mantid.simpleapi import * + + +class DepolarizedAnalyzerTransmissionTest(systemtesting.MantidSystemTest): + def runTest(self): + pass + + def validate(self): + pass From 71e3b08eaa57215ddc7a7db41aae8c878553dd3f Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Thu, 29 Aug 2024 17:11:27 +0100 Subject: [PATCH 2/9] Add basic test implementation RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index 41493a79a9a2..0c512f54c17d 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -7,13 +7,33 @@ import systemtesting -from mantid import * +from mantid.api import AnalysisDataService from mantid.simpleapi import * class DepolarizedAnalyzerTransmissionTest(systemtesting.MantidSystemTest): def runTest(self): - pass + Load("/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/ZOOM00038238.nxs", OutputWorkspace="mt_run") + Load("/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/ZOOM00038335.nxs", OutputWorkspace="dep_run") + + self._prepare_workspace("mt_run", "mt") + self._prepare_workspace("dep_run", "dep_group") + self._average_workspaces_in_group("dep_group", "dep") + + DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves") + + def _prepare_workspace(self, input_ws_name, output_ws_name): + ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, OutputWorkspace="__temp_wl") + CropWorkspace("__temp_wl", StartWorkspaceIndex=2, EndWorkspaceIndex=2, OutputWorkspace="__temp_mon3") + CropWorkspace("__temp_wl", StartWorkspaceIndex=3, EndWorkspaceIndex=3, OutputWorkspace="__temp_mon4") + Divide(LHSWorkspace="__temp_mon4", RHSWorkspace="__temp_mon3", OutputWorkspace=output_ws_name) + + def _average_workspaces_in_group(self, input_group_name, output_name): + group = AnalysisDataService.retrieve(input_group_name) + summed = group.getItem(0) + for i in range(1, 3): + summed = summed + group.getItem(i) + AnalysisDataService.addOrReplace(output_name, summed / 4) def validate(self): pass From bbf321af241db49904d5eb7cca284c6365e84798 Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Fri, 30 Aug 2024 15:24:07 +0100 Subject: [PATCH 3/9] Implement validation RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index 0c512f54c17d..952d7e9b57dd 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -20,7 +20,7 @@ def runTest(self): self._prepare_workspace("dep_run", "dep_group") self._average_workspaces_in_group("dep_group", "dep") - DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves") + DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves", IgnoreFitQualityError=True) def _prepare_workspace(self, input_ws_name, output_ws_name): ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, OutputWorkspace="__temp_wl") @@ -36,4 +36,28 @@ def _average_workspaces_in_group(self, input_group_name, output_name): AnalysisDataService.addOrReplace(output_name, summed / 4) def validate(self): - pass + self.tolerance = 1e-5 + result_curves = "curves" + reference_curves = "/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/DepolCurvesReference.nxs" + result_params = "params" + reference_params = "/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/DepolParamsReference.nxs" + + def validate_group(result, reference): + value_names = [result, reference] + + Load(Filename=reference, OutputWorkspace=reference) + compare_alg = AlgorithmManager.create("CompareWorkspaces") + compare_alg.setPropertyValue("Workspace1", value_names[0]) + compare_alg.setPropertyValue("Workspace2", value_names[1]) + compare_alg.setPropertyValue("Tolerance", str(self.tolerance)) + compare_alg.setChild(True) + + compare_alg.execute() + if compare_alg.getPropertyValue("Result") != "1": + print(" Workspaces do not match. Result: ", compare_alg.getPropertyValue("Result")) + print(self.__class__.__name__) + SaveNexus(InputWorkspace=value_names[0], Filename=self.__class__.__name__ + "-mismatch.nxs") + return False + return True + + return validate_group(result_curves, reference_curves) and validate_group(result_params, reference_params) From 00d48e4d324f62b6b9689881249b82e204b2f65b Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Fri, 30 Aug 2024 15:37:25 +0100 Subject: [PATCH 4/9] Remove incorrect result check RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index 952d7e9b57dd..1cc4aace1a32 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -54,7 +54,7 @@ def validate_group(result, reference): compare_alg.execute() if compare_alg.getPropertyValue("Result") != "1": - print(" Workspaces do not match. Result: ", compare_alg.getPropertyValue("Result")) + print(" Workspaces do not match.") print(self.__class__.__name__) SaveNexus(InputWorkspace=value_names[0], Filename=self.__class__.__name__ + "-mismatch.nxs") return False From b6367239a8d4b45bb927a0a19bfd5cf4a67ff957 Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Fri, 30 Aug 2024 16:03:23 +0100 Subject: [PATCH 5/9] Upload data files to remote store RE #37120 --- Testing/Data/SystemTest/ZOOM00038238.nxs.md5 | 1 + Testing/Data/SystemTest/ZOOM00038335.nxs.md5 | 1 + .../DepolarizedAnalyserTransmissionTest.py | 8 ++++---- .../framework/reference/DepolCurvesReference.nxs.md5 | 1 + .../framework/reference/DepolParamsReference.nxs.md5 | 1 + 5 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 Testing/Data/SystemTest/ZOOM00038238.nxs.md5 create mode 100644 Testing/Data/SystemTest/ZOOM00038335.nxs.md5 create mode 100644 Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 create mode 100644 Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 diff --git a/Testing/Data/SystemTest/ZOOM00038238.nxs.md5 b/Testing/Data/SystemTest/ZOOM00038238.nxs.md5 new file mode 100644 index 000000000000..8f272906a84a --- /dev/null +++ b/Testing/Data/SystemTest/ZOOM00038238.nxs.md5 @@ -0,0 +1 @@ +f46b506522760c88b9a7baec5ffbcb03 diff --git a/Testing/Data/SystemTest/ZOOM00038335.nxs.md5 b/Testing/Data/SystemTest/ZOOM00038335.nxs.md5 new file mode 100644 index 000000000000..8ab856cb02b5 --- /dev/null +++ b/Testing/Data/SystemTest/ZOOM00038335.nxs.md5 @@ -0,0 +1 @@ +8dc37e0a56316abf322b851c04f64361 diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index 1cc4aace1a32..e434e75b55c9 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -13,8 +13,8 @@ class DepolarizedAnalyzerTransmissionTest(systemtesting.MantidSystemTest): def runTest(self): - Load("/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/ZOOM00038238.nxs", OutputWorkspace="mt_run") - Load("/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/ZOOM00038335.nxs", OutputWorkspace="dep_run") + Load("ZOOM00038238.nxs", OutputWorkspace="mt_run") + Load("ZOOM00038335.nxs", OutputWorkspace="dep_run") self._prepare_workspace("mt_run", "mt") self._prepare_workspace("dep_run", "dep_group") @@ -38,9 +38,9 @@ def _average_workspaces_in_group(self, input_group_name, output_name): def validate(self): self.tolerance = 1e-5 result_curves = "curves" - reference_curves = "/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/DepolCurvesReference.nxs" + reference_curves = "DepolCurvesReference.nxs" result_params = "params" - reference_params = "/Users/caila.finn/MantidData/PolSANS/DepolAnalyser/DepolParamsReference.nxs" + reference_params = "DepolParamsReference.nxs" def validate_group(result, reference): value_names = [result, reference] diff --git a/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 new file mode 100644 index 000000000000..14638e43d4f1 --- /dev/null +++ b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 @@ -0,0 +1 @@ +66c28127463a8f30cfe654b2a8a77257 diff --git a/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 new file mode 100644 index 000000000000..d62f4619520f --- /dev/null +++ b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 @@ -0,0 +1 @@ +9b0860a9fd0be946f93f8d3f0c8fdefd From 3b1cb79e329eeda028f306772709819cb9c0e905 Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Tue, 3 Sep 2024 10:24:36 +0100 Subject: [PATCH 6/9] Correct alg inputs test outputs The algorithm is supposed to take two matrixworkspaces, rather than a group. This empty cell workspace needs to be averaged, as it is a group. RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 11 +++++++---- .../framework/reference/DepolCurvesReference.nxs.md5 | 2 +- .../framework/reference/DepolParamsReference.nxs.md5 | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index e434e75b55c9..ee3e905b45a0 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -16,8 +16,9 @@ def runTest(self): Load("ZOOM00038238.nxs", OutputWorkspace="mt_run") Load("ZOOM00038335.nxs", OutputWorkspace="dep_run") - self._prepare_workspace("mt_run", "mt") + self._prepare_workspace("mt_run", "mt_group") self._prepare_workspace("dep_run", "dep_group") + self._average_workspaces_in_group("mt_group", "mt") self._average_workspaces_in_group("dep_group", "dep") DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves", IgnoreFitQualityError=True) @@ -54,10 +55,12 @@ def validate_group(result, reference): compare_alg.execute() if compare_alg.getPropertyValue("Result") != "1": - print(" Workspaces do not match.") + print("Workspaces do not match.") print(self.__class__.__name__) - SaveNexus(InputWorkspace=value_names[0], Filename=self.__class__.__name__ + "-mismatch.nxs") + SaveNexus(InputWorkspace=value_names[0], Filename=f"{self.__class__.__name__}-{result}-mismatch.nxs") return False return True - return validate_group(result_curves, reference_curves) and validate_group(result_params, reference_params) + is_curves_match = validate_group(result_curves, reference_curves) + is_params_match = validate_group(result_params, reference_params) + return is_curves_match and is_params_match diff --git a/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 index 14638e43d4f1..0e8294a288ab 100644 --- a/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 +++ b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 @@ -1 +1 @@ -66c28127463a8f30cfe654b2a8a77257 +0ae08acf858c0ccfaae3e35edfaad4f0 diff --git a/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 index d62f4619520f..6c01a7e64d4f 100644 --- a/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 +++ b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 @@ -1 +1 @@ -9b0860a9fd0be946f93f8d3f0c8fdefd +5d9571f9ff1e4f8e757c50c0566d44ae From 8a31e890f6e4dca5325d7383d70eae9d8e04dd8b Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Tue, 3 Sep 2024 10:28:07 +0100 Subject: [PATCH 7/9] Refactor validation RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index ee3e905b45a0..ae960ecb73af 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -44,12 +44,10 @@ def validate(self): reference_params = "DepolParamsReference.nxs" def validate_group(result, reference): - value_names = [result, reference] - Load(Filename=reference, OutputWorkspace=reference) compare_alg = AlgorithmManager.create("CompareWorkspaces") - compare_alg.setPropertyValue("Workspace1", value_names[0]) - compare_alg.setPropertyValue("Workspace2", value_names[1]) + compare_alg.setPropertyValue("Workspace1", result) + compare_alg.setPropertyValue("Workspace2", reference) compare_alg.setPropertyValue("Tolerance", str(self.tolerance)) compare_alg.setChild(True) @@ -57,7 +55,7 @@ def validate_group(result, reference): if compare_alg.getPropertyValue("Result") != "1": print("Workspaces do not match.") print(self.__class__.__name__) - SaveNexus(InputWorkspace=value_names[0], Filename=f"{self.__class__.__name__}-{result}-mismatch.nxs") + SaveNexus(InputWorkspace=result, Filename=f"{self.__class__.__name__}-{result}-mismatch.nxs") return False return True From eaf12e6c0d7ec4a2097681d8c8324fa13426976a Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Tue, 3 Sep 2024 10:44:52 +0100 Subject: [PATCH 8/9] Clean up workspaces after test completes RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index ae960ecb73af..65a4b4a2d103 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -24,10 +24,13 @@ def runTest(self): DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves", IgnoreFitQualityError=True) def _prepare_workspace(self, input_ws_name, output_ws_name): - ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, OutputWorkspace="__temp_wl") - CropWorkspace("__temp_wl", StartWorkspaceIndex=2, EndWorkspaceIndex=2, OutputWorkspace="__temp_mon3") - CropWorkspace("__temp_wl", StartWorkspaceIndex=3, EndWorkspaceIndex=3, OutputWorkspace="__temp_mon4") - Divide(LHSWorkspace="__temp_mon4", RHSWorkspace="__temp_mon3", OutputWorkspace=output_ws_name) + temp_workspaces = {"wl": "__temp_wavelength", "mon3": "__temp_mon3", "mon4": "__temp_mon4"} + ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, OutputWorkspace=temp_workspaces["wl"]) + CropWorkspace(temp_workspaces["wl"], StartWorkspaceIndex=2, EndWorkspaceIndex=2, OutputWorkspace=temp_workspaces["mon3"]) + CropWorkspace(temp_workspaces["wl"], StartWorkspaceIndex=3, EndWorkspaceIndex=3, OutputWorkspace=temp_workspaces["mon4"]) + Divide(LHSWorkspace=temp_workspaces["mon4"], RHSWorkspace=temp_workspaces["mon3"], OutputWorkspace=output_ws_name) + for ws_name in temp_workspaces.values(): + self._safe_delete_workspace(ws_name) def _average_workspaces_in_group(self, input_group_name, output_name): group = AnalysisDataService.retrieve(input_group_name) @@ -36,6 +39,10 @@ def _average_workspaces_in_group(self, input_group_name, output_name): summed = summed + group.getItem(i) AnalysisDataService.addOrReplace(output_name, summed / 4) + def _safe_delete_workspace(self, ws_name): + if AnalysisDataService.doesExist(ws_name): + DeleteWorkspace(ws_name) + def validate(self): self.tolerance = 1e-5 result_curves = "curves" @@ -62,3 +69,7 @@ def validate_group(result, reference): is_curves_match = validate_group(result_curves, reference_curves) is_params_match = validate_group(result_params, reference_params) return is_curves_match and is_params_match + + def cleanup(self): + for ws_name in ["mt_run", "dep_run", "mt_group", "dep_group", "mt", "dep"]: + self._safe_delete_workspace(ws_name) From b8b406fe298e36251074e2996f192ced0e0a39d8 Mon Sep 17 00:00:00 2001 From: Caila Finn Date: Tue, 3 Sep 2024 16:56:11 +0100 Subject: [PATCH 9/9] Refactor workspace preparation methods RE #37120 --- .../DepolarizedAnalyserTransmissionTest.py | 38 +++++++------------ .../reference/DepolCurvesReference.nxs.md5 | 2 +- .../reference/DepolParamsReference.nxs.md5 | 2 +- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py index 65a4b4a2d103..7e369b0d3b5d 100644 --- a/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py +++ b/Testing/SystemTests/tests/framework/PolarizationCorrections/DepolarizedAnalyserTransmissionTest.py @@ -16,32 +16,21 @@ def runTest(self): Load("ZOOM00038238.nxs", OutputWorkspace="mt_run") Load("ZOOM00038335.nxs", OutputWorkspace="dep_run") - self._prepare_workspace("mt_run", "mt_group") - self._prepare_workspace("dep_run", "dep_group") - self._average_workspaces_in_group("mt_group", "mt") - self._average_workspaces_in_group("dep_group", "dep") + mt_group = self._prepare_workspace("mt_run") + dep_group = self._prepare_workspace("dep_run") + mt = self._average_workspaces_in_group(list(mt_group)) + dep = self._average_workspaces_in_group(list(dep_group)) - DepolarizedAnalyserTransmission("dep", "mt", OutputWorkspace="params", OutputFitCurves="curves", IgnoreFitQualityError=True) + DepolarizedAnalyserTransmission(dep, mt, OutputWorkspace="params" "", OutputFitCurves="curves") - def _prepare_workspace(self, input_ws_name, output_ws_name): - temp_workspaces = {"wl": "__temp_wavelength", "mon3": "__temp_mon3", "mon4": "__temp_mon4"} - ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, OutputWorkspace=temp_workspaces["wl"]) - CropWorkspace(temp_workspaces["wl"], StartWorkspaceIndex=2, EndWorkspaceIndex=2, OutputWorkspace=temp_workspaces["mon3"]) - CropWorkspace(temp_workspaces["wl"], StartWorkspaceIndex=3, EndWorkspaceIndex=3, OutputWorkspace=temp_workspaces["mon4"]) - Divide(LHSWorkspace=temp_workspaces["mon4"], RHSWorkspace=temp_workspaces["mon3"], OutputWorkspace=output_ws_name) - for ws_name in temp_workspaces.values(): - self._safe_delete_workspace(ws_name) + def _prepare_workspace(self, input_ws_name): + converted = ConvertUnits(input_ws_name, "Wavelength", AlignBins=True, StoreInADS=False) + monitor_3 = CropWorkspace(converted, StartWorkspaceIndex=2, EndWorkspaceIndex=2, StoreInADS=False) + monitor_4 = CropWorkspace(converted, StartWorkspaceIndex=3, EndWorkspaceIndex=3, StoreInADS=False) + return monitor_4 / monitor_3 - def _average_workspaces_in_group(self, input_group_name, output_name): - group = AnalysisDataService.retrieve(input_group_name) - summed = group.getItem(0) - for i in range(1, 3): - summed = summed + group.getItem(i) - AnalysisDataService.addOrReplace(output_name, summed / 4) - - def _safe_delete_workspace(self, ws_name): - if AnalysisDataService.doesExist(ws_name): - DeleteWorkspace(ws_name) + def _average_workspaces_in_group(self, ws_list): + return sum(ws_list) / 4 def validate(self): self.tolerance = 1e-5 @@ -71,5 +60,4 @@ def validate_group(result, reference): return is_curves_match and is_params_match def cleanup(self): - for ws_name in ["mt_run", "dep_run", "mt_group", "dep_group", "mt", "dep"]: - self._safe_delete_workspace(ws_name) + AnalysisDataService.clear() diff --git a/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 index 0e8294a288ab..166923be1775 100644 --- a/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 +++ b/Testing/SystemTests/tests/framework/reference/DepolCurvesReference.nxs.md5 @@ -1 +1 @@ -0ae08acf858c0ccfaae3e35edfaad4f0 +e508561a750eb6064ff40f11fba8d31b diff --git a/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 index 6c01a7e64d4f..2243eed1db00 100644 --- a/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 +++ b/Testing/SystemTests/tests/framework/reference/DepolParamsReference.nxs.md5 @@ -1 +1 @@ -5d9571f9ff1e4f8e757c50c0566d44ae +45c39b9e17ab1978975817bc3a296e39