|
18 | 18 | from mantid.api import AnalysisDataService
|
19 | 19 | from mantid.kernel import version, DateAndTime
|
20 | 20 | from mantid.utils.reflectometry.orso_helper import MantidORSODataset, MantidORSOSaver
|
| 21 | +from mantid.utils.reflectometry import SpinStatesORSO |
21 | 22 |
|
22 | 23 |
|
23 | 24 | class SaveISISReflectometryORSOTest(unittest.TestCase):
|
@@ -578,24 +579,32 @@ def test_saved_as_nexus_if_relevant_filename_extension(self, mock_save_orso_nexu
|
578 | 579 |
|
579 | 580 | @patch("mantid.api.WorkspaceHistory.getAlgorithmHistories")
|
580 | 581 | def test_dataset_name_is_correctly_generated_for_different_angle_polarization_settings_in_ws_groups(self, mock_alg_histories):
|
| 582 | + theta = 0.5 |
| 583 | + w_name = "ws" |
581 | 584 | angle_pol = namedtuple("angle_pol", "angle polarization")
|
582 |
| - angle_polarization_inputs = [angle_pol(None, "pp"), angle_pol(0.5, ""), angle_pol(0.5, "pp"), angle_pol(None, "")] |
583 |
| - dataset_name_outputs = ["pp", "ws 0.500", "0.500 pp", "ws"] |
| 585 | + angle_polarization_inputs = [ |
| 586 | + angle_pol(None, SpinStatesORSO.PP), |
| 587 | + angle_pol(theta, ""), |
| 588 | + angle_pol(theta, SpinStatesORSO.PP), |
| 589 | + angle_pol(None, ""), |
| 590 | + ] |
| 591 | + dataset_name_outputs = [f"{w_name} {SpinStatesORSO.PP}", f"{w_name} {theta:.3f}", f"{theta:.3f} {SpinStatesORSO.PP}", w_name] |
| 592 | + dataset_name_outputs = [f"{w_name} {SpinStatesORSO.PP}", f"{w_name} {theta:.3f}", f"{theta:.3f} {SpinStatesORSO.PP}", w_name] |
584 | 593 | for in_params, out_dataset_name in zip(angle_polarization_inputs, dataset_name_outputs):
|
585 | 594 | with self.subTest(test_case=in_params):
|
586 | 595 | ws = self._create_sample_workspace()
|
587 |
| - AddSampleLog(Workspace=ws, LogName="spin_state_ORSO", LogText=in_params.polarization) |
| 596 | + AddSampleLog(Workspace=ws, LogName=SpinStatesORSO.LOG_NAME, LogText=in_params.polarization) |
588 | 597 | if in_params.angle is not None:
|
589 | 598 | self._configure_q_conversion_alg_mock_history(mock_alg_histories, self._REF_ROI, {"ScatteringAngle": in_params.angle})
|
590 |
| - GroupWorkspaces(InputWorkspaces=["ws"], OutputWorkspace="ws_group") |
| 599 | + GroupWorkspaces(InputWorkspaces=[w_name], OutputWorkspace=f"{w_name}_group") |
591 | 600 |
|
592 |
| - self._run_save_alg("ws_group") |
| 601 | + self._run_save_alg(f"{w_name}_group") |
593 | 602 |
|
594 | 603 | self._check_file_header([self._get_dataset_name_entry(out_dataset_name)])
|
595 | 604 | mock_alg_histories.reset_mock(return_value=True)
|
596 | 605 |
|
597 | 606 | def test_data_with_spin_state_logs_adds_polarization_metadata_in_instrument_settings_header(self):
|
598 |
| - spin_states = ["pp", "mm", "mp", "pm"] |
| 607 | + spin_states = [SpinStatesORSO.PP, SpinStatesORSO.MM, SpinStatesORSO.MP, SpinStatesORSO.PM] |
599 | 608 | ws_grp = self._create_sample_workspace_group_with_spin_state(spin_states)
|
600 | 609 |
|
601 | 610 | self._run_save_alg(ws_grp, write_resolution=False, include_extra_cols=False)
|
@@ -625,7 +634,7 @@ def _create_sample_workspace_group_with_spin_state(self, spin_states):
|
625 | 634 | ws_name = "ws_" + state
|
626 | 635 | group_member_names.append(ws_name)
|
627 | 636 | self._create_sample_workspace(ws_name=ws_name)
|
628 |
| - AddSampleLog(Workspace=ws_name, LogName="spin_state_ORSO", LogText=state) |
| 637 | + AddSampleLog(Workspace=ws_name, LogName=SpinStatesORSO.LOG_NAME, LogText=state) |
629 | 638 | return GroupWorkspaces(InputWorkspaces=",".join(group_member_names), OutputWorkspace="group_pol")
|
630 | 639 |
|
631 | 640 | def _get_expected_data_file_metadata(self, expected_entries, expected_section_end):
|
|
0 commit comments