예제 #1
0
    def test_file_is_loaded_if_workspace_does_not_already_exist_in_model(self):
        # Arrange
        run_name = "BBY000123"
        file_name = "C:/path11/path2/" + run_name + ".nxs"

        workspace_name_model = mock.create_autospec(WorkspaceNameModel)
        scattering_sample_file_name_property = PropertyMock(return_value=file_name)
        scattering_empty_cell_file_name_property = PropertyMock(return_value="")
        transmission_empty_cell_file_name_property = PropertyMock(return_value="")
        type(workspace_name_model).scattering_sample = scattering_sample_file_name_property
        type(workspace_name_model).scattering_empty_cell = scattering_empty_cell_file_name_property
        type(workspace_name_model).transmission_empty_cell = transmission_empty_cell_file_name_property

        workspace_model = mock.create_autospec(WorkspaceModel)
        scatter_sample_property = PropertyMock(return_value=None)
        scattering_empty_cell_property = PropertyMock(return_value=None)
        transmission_empty_cell_property = PropertyMock(return_value=None)
        type(workspace_model).scattering_sample = scatter_sample_property
        type(workspace_model).scattering_empty_cell = scattering_empty_cell_property
        type(workspace_model).transmission_empty_cell = transmission_empty_cell_property

        command = LoadWorkspacesCommand(workspace_model, workspace_name_model)
        mock_workspace = mock.create_autospec(IEventWorkspace)
        command._load_workspace = MagicMock(return_value=mock_workspace)

        self.assertTrue(command.can_execute())
        try:
            command.execute()
            has_raised = False
        except:
            has_raised = True

        # Assert
        self.assertFalse(has_raised)
        self.assertTrue(scattering_sample_file_name_property.call_count == 3)
        self.assertTrue(scattering_empty_cell_file_name_property.call_count == 1)
        self.assertTrue(transmission_empty_cell_file_name_property.call_count == 1)

        self.assertTrue(scatter_sample_property.call_count == 2)
        self.assertTrue(scattering_empty_cell_property.call_count == 0)
        self.assertTrue(transmission_empty_cell_property.call_count == 0)

        calls = [call(), call(mock_workspace)]
        self.assertTrue(transmission_empty_cell_file_name_property.has_calls(calls))
예제 #2
0
    def test_loading_already_loaded_file_is_possible(self):
        # Arrange
        run_name = "BBY000123"
        expected_workspace_name = run_name + "_sans"
        file_name = "C:/path11/path2/" + run_name + ".nxs"

        workspace_model = mock.create_autospec(WorkspaceModel)
        workspace_name_model = mock.create_autospec(WorkspaceNameModel)
        scattering_sample_file_name_property = PropertyMock(return_value=file_name)
        scattering_empty_cell_file_name_property = PropertyMock(return_value="")
        transmission_empty_cell_file_name_property = PropertyMock(return_value="")
        type(workspace_name_model).scattering_sample = scattering_sample_file_name_property
        type(workspace_name_model).scattering_empty_cell = scattering_empty_cell_file_name_property
        type(workspace_name_model).transmission_empty_cell = transmission_empty_cell_file_name_property

        workspace_mock = MagicMock()
        workspace_mock.name.return_value = expected_workspace_name
        scatter_sample_property = PropertyMock(return_value=workspace_mock)
        scattering_empty_cell_property = PropertyMock(return_value=None)
        transmission_empty_cell_property = PropertyMock(return_value=None)
        type(workspace_model).scattering_sample = scatter_sample_property
        type(workspace_model).scattering_empty_cell = scattering_empty_cell_property
        type(workspace_model).transmission_empty_cell = transmission_empty_cell_property
        # Act
        command = LoadWorkspacesCommand(workspace_model, workspace_name_model)

        self.assertTrue(command.can_execute())
        try:
            command.execute()
            has_raised = False
        except:
            has_raised = True

        # Assert
        self.assertFalse(has_raised)
        self.assertTrue(scattering_sample_file_name_property.call_count == 3)
        self.assertTrue(scattering_empty_cell_file_name_property.call_count == 1)
        self.assertTrue(transmission_empty_cell_file_name_property.call_count == 1)
        self.assertTrue(scatter_sample_property.call_count == 1)
        self.assertTrue(scattering_empty_cell_property.call_count == 0)
        self.assertTrue(transmission_empty_cell_property.call_count == 0)

        calls = [call()]
        self.assertTrue(transmission_empty_cell_file_name_property.has_calls(calls))