Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r0bb11ec189709c999bee440a31c003f00b0a3a2b -r1bcde5cb990364e3a547bac143c9f7a1338fb029 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs) (revision 0bb11ec189709c999bee440a31c003f00b0a3a2b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs) (revision 1bcde5cb990364e3a547bac143c9f7a1338fb029) @@ -222,7 +222,7 @@ using (new WaveConditionsCalculationServiceConfig()) { - var testService = (TestWaveConditionsCalculationService)WaveConditionsCalculationService.Instance; + var testService = (TestWaveConditionsCalculationService) WaveConditionsCalculationService.Instance; // Call activity.Run(); @@ -249,15 +249,18 @@ } [Test] - public void Cancel_WhenPerformingCalculation_CurrentAndSubsequentWaterLevelCalculationsCancelled() + public void Cancel_WhenPerformingCalculation_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new GrassCoverErosionOutwardsWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.GrassCoverErosionOutwards, assessmentSection); + var activity = new GrassCoverErosionOutwardsWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.GrassCoverErosionOutwards, + assessmentSection); using (new WaveConditionsCalculationServiceConfig()) { @@ -288,6 +291,42 @@ } [Test] + public void OnFinish_WhenCancelled_OutputNull() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + ImportHydraulicBoundaryDatabase(assessmentSection); + + GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + + var activity = new GrassCoverErosionOutwardsWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.GrassCoverErosionOutwards, + assessmentSection); + + using (new WaveConditionsCalculationServiceConfig()) + { + activity.ProgressChanged += (sender, args) => + { + if (activity.State != ActivityState.Canceled) + { + // Call + activity.Cancel(); + } + }; + + activity.Run(); + + // Call + activity.Finish(); + + // Assert + Assert.AreEqual(ActivityState.Canceled, activity.State); + Assert.IsNull(calculation.Output); + } + } + + [Test] public void OnFinish_CalculationPerformed_SetsOutput() { // Setup