Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/DesignWaterLevelCalculationActivityTest.cs =================================================================== diff -u -r0f7eb2998561112d0013b667ee39c2316341d2fe -r883060cccacd8501ff89325a242fc352c54e8a53 --- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 0f7eb2998561112d0013b667ee39c2316341d2fe) +++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 883060cccacd8501ff89325a242fc352c54e8a53) @@ -149,6 +149,32 @@ } [Test] + public void Run_CalculationAlreadyRan_ValidationAndCalculationNotPerformed() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + ImportHydraulicBoundaryDatabase(assessmentSection); + + var designWaterLevel = 3.0; + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test", 1, 1) + { + DesignWaterLevel = designWaterLevel + }; + + var activity = new DesignWaterLevelCalculationActivity(assessmentSection, hydraulicBoundaryLocation); + + // Call + Action call = () => activity.Run(); + + // Assert + TestHelper.AssertLogMessages(call, messages => + { + var msgs = messages.ToArray(); + Assert.AreEqual(0, msgs.Length); + }); + } + + [Test] public void Finish_ValidCalculationAndRun_SetsDesignWaterLevelAndNotifyObservers() { // Setup @@ -201,6 +227,30 @@ mocks.VerifyAll(); } + [Test] + public void Finish_CalculationAlreadyRan_FinishNotPerformed() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + ImportHydraulicBoundaryDatabase(assessmentSection); + + var designWaterLevel = 3.0; + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test", 1, 1) + { + DesignWaterLevel = designWaterLevel + }; + + var activity = new DesignWaterLevelCalculationActivity(assessmentSection, hydraulicBoundaryLocation); + + activity.Run(); + + // Call + activity.Finish(); + + // Assert + Assert.AreEqual(designWaterLevel, hydraulicBoundaryLocation.DesignWaterLevel); + } + private void ImportHydraulicBoundaryDatabase(AssessmentSection assessmentSection) { string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite");