Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r0bb11ec189709c999bee440a31c003f00b0a3a2b -r1bcde5cb990364e3a547bac143c9f7a1338fb029 --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 0bb11ec189709c999bee440a31c003f00b0a3a2b) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Integration.Test/WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 1bcde5cb990364e3a547bac143c9f7a1338fb029) @@ -249,15 +249,18 @@ } [Test] - public void Cancel_WhenPerformingCalculation_CurrentAndSubsequentWaterLevelCalculationsCancelled() + public void Cancel_WhenPerformingCalculation_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.WaveImpactAsphaltCover, assessmentSection); + var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.WaveImpactAsphaltCover, + assessmentSection); using (new WaveConditionsCalculationServiceConfig()) { @@ -288,6 +291,42 @@ } [Test] + public void OnFinish_WhenCancelled_OutputNull() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + ImportHydraulicBoundaryDatabase(assessmentSection); + + WaveImpactAsphaltCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + + var activity = new WaveImpactAsphaltCoverWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.WaveImpactAsphaltCover, + 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