def test_that_get_transmission_output_name_returns_correct_name_for_user_specified_workspace(self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = "test_output" # Act output_workspace, group_output_name = get_transmission_output_name(state) # Assert self.assertEqual(output_workspace, "test_output_trans_Sample") self.assertEqual(group_output_name, 'test_output_trans')
def test_that_get_transmission_output_name_returns_correct_name_for_CAN(self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = '' # Act output_workspace, group_output_name = get_transmission_output_name(state, data_type=DataType.Can) # Assert self.assertEqual(output_workspace, "12345_trans_Can_1.0_10.0") self.assertEqual(group_output_name, '12345_trans_1.0_10.0')
def test_that_get_transmission_output_name_returns_correct_name(self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = '' # Act output_workspace, group_output_name = get_transmission_output_name(state) # Assert self.assertEqual(output_workspace, "12345_trans_Sample_1.0_10.0") self.assertEqual(group_output_name, "12345_trans_1.0_10.0")
def test_that_get_transmission_output_name_returns_correct_name_for_user_specified_workspace( self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = "test_output" # Act output_workspace, _ = get_transmission_output_name( state, ISISReductionMode.LAB) # Assert self.assertEqual(output_workspace, "test_output_trans")
def test_that_get_transmission_output_name_returns_correct_name_for_user_specified_workspace_for_CAN(self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = "test_output" # Act wav_range = state.wavelength.wavelength_interval.wavelength_full_range output_workspace, group_output_name = get_transmission_output_name(state, wav_range=wav_range, data_type=DataType.CAN) # Assert self.assertEqual(output_workspace, "test_output_trans_Can") self.assertEqual(group_output_name, 'test_output_trans')
def test_that_get_transmission_output_name_returns_correct_name(self): # Arrange state = SANSFunctionsTest._get_state() state.save.user_specified_output_name = '' # Act output_workspace, _ = get_transmission_output_name( state, ISISReductionMode.LAB) # Assert self.assertEqual( output_workspace, "12345_trans_Sample_12.0_34.0Phi12.0_56.0_t4.57_T12.37")
def test_that_get_transmission_output_name_returns_correct_name_for_wavelength_slices(self): state = self._get_state() state.save.user_specified_output_name = '' state.reduction.reduction_mode = ISISReductionMode.Merged multi_reduction_type = {"period": False, "event_slice": False, "wavelength_range": True} output_name, group_output_name = get_transmission_output_name(state, multi_reduction_type=multi_reduction_type) self.assertEqual(output_name, '12345_trans_Sample_1.0_10.0_12.0_34.0') self.assertEqual(group_output_name, '12345_trans_1.0_10.0')
def test_that_get_transmission_output_name_returns_correct_name_for_wavelength_slices_with_user_specified(self): state = self._get_state() state.save.user_specified_output_name = 'user_output_name' state.reduction.reduction_mode = ReductionMode.MERGED multi_reduction_type = {"period": False, "event_slice": False, "wavelength_range": True} wav_range = state.wavelength.wavelength_interval.wavelength_full_range output_name, group_output_name = get_transmission_output_name(state, wav_range=wav_range, multi_reduction_type=multi_reduction_type) self.assertEqual(output_name, 'user_output_name_trans_Sample_12.0_34.0') self.assertEqual(group_output_name, 'user_output_name_trans')
def test_that_get_transmission_output_name_returns_correct_name_for_wavelength_slices_for_CAN_unfitted(self): state = self._get_state() state.save.user_specified_output_name = '' state.reduction.reduction_mode = ReductionMode.MERGED multi_reduction_type = {"period": False, "event_slice": False, "wavelength_range": True} output_name, group_output_name = get_transmission_output_name(state, multi_reduction_type=multi_reduction_type, data_type=DataType.CAN, fitted=False) self.assertEqual(output_name, '12345_trans_Can_unfitted_1.0_10.0') self.assertEqual(group_output_name, '12345_trans_1.0_10.0')
def _get_output_workspace_name(self, state, reduction_mode=None, data_type=None, can=False, sample=False, transmission=False, fitted=False): """ Get the output names for the sliced workspaces (within the group workspaces, which are already named). :param state: a SANS state object :param reduction_mode: an optional ISISReductionMode enum: "HAB", "LAB", "Merged", or "All" :param data_type: an optional DataType enum: "Sample" or "Can" :param can: optional bool. If true then creating name for a can workspace :param sample: optional bool. If true then creating name for a sample workspace. Sample and can cannot both be true :param transmission: optional bool. If true then creating name for a transmission workspace :param fitted: optional bool. If true then workspace is a fitted transmission workspace, otherwise unfitted :return: name of the workspace """ _multi = { "event_slice": True, "period": self.getProperty("Period").value, "wavelength_range": self.getProperty("WavelengthRange").value } if not transmission: _suffix = "" if can: if reduction_mode == ISISReductionMode.HAB: _suffix = "_hab_can" elif reduction_mode == ISISReductionMode.LAB: _suffix = "_lab_can" elif sample: if reduction_mode == ISISReductionMode.HAB: _suffix = "_hab_sample" elif reduction_mode == ISISReductionMode.LAB: _suffix = "_lab_sample" return get_output_name(state, reduction_mode, True, suffix=_suffix, multi_reduction_type=_multi)[0] else: return get_transmission_output_name(state, data_type, _multi, fitted)[0]