Index: Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs =================================================================== diff -u -r2ebc37cd8cfea18e73b2db4975be5a48272ba9ba -r7e5847c20d3ca698e55690d8abb6d3f9aaffd313 --- Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 2ebc37cd8cfea18e73b2db4975be5a48272ba9ba) +++ Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationActivity.cs (.../DesignWaterLevelCalculationActivity.cs) (revision 7e5847c20d3ca698e55690d8abb6d3f9aaffd313) @@ -78,6 +78,12 @@ protected override bool Validate() { + if (AlreadyCalculated) + { + State = ActivityState.Skipped; + return true; + } + return DesignWaterLevelCalculationService.Validate( hydraulicBoundaryLocation.Name, hydraulicBoundaryDatabaseFilePath, @@ -86,12 +92,8 @@ protected override void PerformCalculation() { - if (!double.IsNaN(hydraulicBoundaryLocation.DesignWaterLevel)) + if (State != ActivityState.Skipped) { - State = ActivityState.Skipped; - } - else - { RingtoetsCommonDataSynchronizationService.ClearDesignWaterLevel(hydraulicBoundaryLocation); calculationService.Calculate( @@ -110,7 +112,15 @@ protected override void OnFinish() { - // hydraulicBoundaryLocation.NotifyObservers(); + // hydraulicBoundaryLocation.NotinfyObservers(); } + + private bool AlreadyCalculated + { + get + { + return !double.IsNaN(hydraulicBoundaryLocation.DesignWaterLevel); + } + } } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs =================================================================== diff -u -r2ebc37cd8cfea18e73b2db4975be5a48272ba9ba -r7e5847c20d3ca698e55690d8abb6d3f9aaffd313 --- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision 2ebc37cd8cfea18e73b2db4975be5a48272ba9ba) +++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationActivity.cs (.../WaveHeightCalculationActivity.cs) (revision 7e5847c20d3ca698e55690d8abb6d3f9aaffd313) @@ -78,6 +78,12 @@ protected override bool Validate() { + if (AlreadyCalculated) + { + State = ActivityState.Skipped; + return true; + } + return WaveHeightCalculationService.Validate( hydraulicBoundaryLocation.Name, hydraulicBoundaryDatabaseFilePath, @@ -86,12 +92,8 @@ protected override void PerformCalculation() { - if (!double.IsNaN(hydraulicBoundaryLocation.WaveHeight)) + if (State != ActivityState.Skipped) { - State = ActivityState.Skipped; - } - else - { RingtoetsCommonDataSynchronizationService.ClearWaveHeight(hydraulicBoundaryLocation); calculationService.Calculate( @@ -112,5 +114,13 @@ { // hydraulicBoundaryLocation.NotifyObservers(); } + + private bool AlreadyCalculated + { + get + { + return !double.IsNaN(hydraulicBoundaryLocation.WaveHeight); + } + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs =================================================================== diff -u -rcc39748cdc122bfcc9bfb27e6e1ac9b7c558b5bf -r7e5847c20d3ca698e55690d8abb6d3f9aaffd313 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision cc39748cdc122bfcc9bfb27e6e1ac9b7c558b5bf) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 7e5847c20d3ca698e55690d8abb6d3f9aaffd313) @@ -222,14 +222,13 @@ } [Test] - public void Run_HydraulicLocationNonNaNDesignWaterLevel_ValidationAndCalculationNotPerformedAndStateSkipped() + public void Run_HydraulicLocationDesignWaterLevelSet_ValidationAndCalculationNotPerformedAndStateSkipped() { // Setup string validFilePath = Path.Combine(testDataPath, validFile); const string locationName = "locationName"; const string activityName = "GetActivityName"; - var calculationMessageProviderMock = mockRepository.Stub(); calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(activityName); calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(activityName); @@ -250,7 +249,7 @@ Action call = () => activity.Run(); // Assert - TestHelper.AssertLogMessagesCount(call, 2); + TestHelper.AssertLogMessagesCount(call, 0); Assert.AreEqual(ActivityState.Skipped, activity.State); mockRepository.VerifyAll(); } Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs =================================================================== diff -u -rcc39748cdc122bfcc9bfb27e6e1ac9b7c558b5bf -r7e5847c20d3ca698e55690d8abb6d3f9aaffd313 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision cc39748cdc122bfcc9bfb27e6e1ac9b7c558b5bf) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision 7e5847c20d3ca698e55690d8abb6d3f9aaffd313) @@ -203,7 +203,7 @@ } [Test] - public void Run_HydraulicLocationNonNaNWaveHeight_ValidationAndCalculationNotPerformedAndStateSkipped() + public void Run_HydraulicLocationWaveHeightSet_ValidationAndCalculationNotPerformedAndStateSkipped() { // Setup string validFilePath = Path.Combine(testDataPath, validFile); @@ -230,7 +230,7 @@ Action call = () => activity.Run(); // Assert - TestHelper.AssertLogMessagesCount(call, 2); + TestHelper.AssertLogMessagesCount(call, 0); Assert.AreEqual(ActivityState.Skipped, activity.State); mockRepository.VerifyAll(); } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs =================================================================== diff -u -re69acb9595f7bf1d202ddd1fb51934b66768b75d -r7e5847c20d3ca698e55690d8abb6d3f9aaffd313 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs (.../ReliabilityIndexCalculationParser.cs) (revision e69acb9595f7bf1d202ddd1fb51934b66768b75d) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/ReliabilityIndexCalculationParser.cs (.../ReliabilityIndexCalculationParser.cs) (revision 7e5847c20d3ca698e55690d8abb6d3f9aaffd313) @@ -60,9 +60,9 @@ } } } - catch + catch(Exception e) { - throw new HydraRingFileParserException(); + throw new HydraRingFileParserException("", e); } }