Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r9bf880dc73a6626c77988dc2b5e3fa3763ce2329 -r1bcde5cb990364e3a547bac143c9f7a1338fb029 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 9bf880dc73a6626c77988dc2b5e3fa3763ce2329) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 1bcde5cb990364e3a547bac143c9f7a1338fb029) @@ -262,15 +262,18 @@ } [Test] - public void Cancel_WhenPerformingCalculationForBlocks_CurrentAndSubsequentWaterLevelCalculationsCancelled() + public void Cancel_WhenPerformingCalculationForBlocks_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.StabilityStoneCover, assessmentSection); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.StabilityStoneCover, + assessmentSection); using (new WaveConditionsCalculationServiceConfig()) { @@ -301,15 +304,18 @@ } [Test] - public void Cancel_WhenPerformingCalculationForColumns_CurrentAndSubsequentWaterLevelCalculationsCancelled() + public void Cancel_WhenPerformingCalculationForColumns_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); ImportHydraulicBoundaryDatabase(assessmentSection); StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); - var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testDataPath, assessmentSection.StabilityStoneCover, assessmentSection); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.StabilityStoneCover, + assessmentSection); using (new WaveConditionsCalculationServiceConfig()) { @@ -342,6 +348,42 @@ } [Test] + public void OnFinish_WhenCancelled_OutputNull() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + ImportHydraulicBoundaryDatabase(assessmentSection); + + StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection); + + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, + testDataPath, + assessmentSection.StabilityStoneCover, + 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