Index: Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs
===================================================================
diff -u -rb7988d7a5616c8c305dac4419a15d5eda07e88bc -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision b7988d7a5616c8c305dac4419a15d5eda07e88bc)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -205,18 +205,15 @@
/// for which to set the .
/// The to base the
/// to create on.
- /// Thrown when
- /// is null.
private static void SetIllustrationPointsResult(HydraulicBoundaryLocationOutput hydraulicBoundaryLocationOutput,
HydraRingGeneralResult hydraRingGeneralResult)
{
- if (hydraRingGeneralResult == null)
+ if (hydraRingGeneralResult != null)
{
- throw new HydraRingCalculationException(Resources.DesignWaterLevelCalculationService_SetIllustrationPointsResult_No_general_result_found);
+ GeneralResultSubMechanismIllustrationPoint generalResult =
+ GeneralResultSubmechanismIllustrationPointConverter.CreateGeneralResultSubmechanismIllustrationPoint(hydraRingGeneralResult);
+ hydraulicBoundaryLocationOutput.SetIllustrationPoints(generalResult);
}
- GeneralResultSubMechanismIllustrationPoint generalResult =
- GeneralResultSubmechanismIllustrationPointConverter.CreateGeneralResultSubmechanismIllustrationPoint(hydraRingGeneralResult);
- hydraulicBoundaryLocationOutput.SetIllustrationPoints(generalResult);
}
///
@@ -256,7 +253,7 @@
///
/// Creates the input for a design water level calculation.
///
- /// The
+ /// The
/// to create the input from.
/// The norm to use during the calculation.
/// The file path to the hydraulic
Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs
===================================================================
diff -u -rb7988d7a5616c8c305dac4419a15d5eda07e88bc -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision b7988d7a5616c8c305dac4419a15d5eda07e88bc)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -206,18 +206,15 @@
/// for which to set the .
/// The to base the
/// to create on.
- /// Thrown when
- /// is null.
private static void SetIllustrationPointsResult(HydraulicBoundaryLocationOutput hydraulicBoundaryLocationOutput,
HydraRingGeneralResult hydraRingGeneralResult)
{
- if (hydraRingGeneralResult == null)
+ if (hydraRingGeneralResult != null)
{
- throw new HydraRingCalculationException(Resources.DesignWaterLevelCalculationService_SetIllustrationPointsResult_No_general_result_found);
+ GeneralResultSubMechanismIllustrationPoint generalResult =
+ GeneralResultSubmechanismIllustrationPointConverter.CreateGeneralResultSubmechanismIllustrationPoint(hydraRingGeneralResult);
+ hydraulicBoundaryLocationOutput.SetIllustrationPoints(generalResult);
}
- GeneralResultSubMechanismIllustrationPoint generalResult =
- GeneralResultSubmechanismIllustrationPointConverter.CreateGeneralResultSubmechanismIllustrationPoint(hydraRingGeneralResult);
- hydraulicBoundaryLocationOutput.SetIllustrationPoints(generalResult);
}
///
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs
===================================================================
diff -u -r2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision 2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -217,7 +217,7 @@
}
[Test]
- public void Calculate_ValidDesignWaterLevelCalculationWithIllustrationPointsButIsNull_ThrowsHydraRingCalculationException()
+ public void Calculate_ValidDesignWaterLevelCalculationWithIllustrationPointsButIsNull_IllustrationPointsNotSet()
{
// Setup
string validFilePath = Path.Combine(testDataPath, validFile);
@@ -245,15 +245,14 @@
using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
{
// Call
- TestDelegate call = () => new DesignWaterLevelCalculationService()
+ new DesignWaterLevelCalculationService()
.Calculate(calculation,
validFilePath,
1.0 / 30,
calculationMessageProvider);
// Assert
- var thrownException = Assert.Throws(call);
- Assert.AreEqual("Er konden geen illustratiepunten worden uitgelezen.", thrownException.Message);
+ Assert.IsFalse(calculation.Output.HasIllustrationPoints);
}
mockRepository.VerifyAll();
}
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs
===================================================================
diff -u -r2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision 2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -216,7 +216,7 @@
}
[Test]
- public void Calculate_ValidWaveHeightCalculationWithIllustrationPointsButIsNull_ThrowsHydraRingCalculationException()
+ public void Calculate_ValidWaveHeightCalculationWithIllustrationPointsButIsNull_IllustrationPointsNotSet()
{
// Setup
string validFilePath = Path.Combine(testDataPath, validFile);
@@ -244,15 +244,14 @@
using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
{
// Call
- TestDelegate call = () => new WaveHeightCalculationService()
+ new WaveHeightCalculationService()
.Calculate(calculation,
validFilePath,
1.0 / 30,
calculationMessageProvider);
// Assert
- var thrownException = Assert.Throws(call);
- Assert.AreEqual("Er konden geen illustratiepunten worden uitgelezen.", thrownException.Message);
+ Assert.IsFalse(calculation.Output.HasIllustrationPoints);
}
mockRepository.VerifyAll();
}
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs
===================================================================
diff -u -r2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs (.../DesignWaterLevelCalculator.cs) (revision 2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DesignWaterLevelCalculator.cs (.../DesignWaterLevelCalculator.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -23,9 +23,7 @@
using System.Collections.Generic;
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics;
-using Ringtoets.HydraRing.Calculation.Data.Output.IllustrationPoints;
using Ringtoets.HydraRing.Calculation.Parsers;
-using Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints;
namespace Ringtoets.HydraRing.Calculation.Calculator
{
@@ -37,7 +35,6 @@
{
private readonly ReliabilityIndexCalculationParser targetProbabilityParser;
private readonly ConvergenceParser convergenceParser;
- private readonly IllustrationPointsParser illustrationPointsParser;
///
/// Create a new instance of .
@@ -49,14 +46,11 @@
{
targetProbabilityParser = new ReliabilityIndexCalculationParser();
convergenceParser = new ConvergenceParser();
- illustrationPointsParser = new IllustrationPointsParser();
DesignWaterLevel = double.NaN;
ReliabilityIndex = double.NaN;
}
- public GeneralResult IllustrationPointsResult { get; private set; }
-
public double DesignWaterLevel { get; private set; }
public double ReliabilityIndex { get; private set; }
@@ -72,7 +66,6 @@
{
yield return targetProbabilityParser;
yield return convergenceParser;
- yield return illustrationPointsParser;
}
protected override void SetOutputs()
@@ -83,8 +76,6 @@
ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex;
}
Converged = convergenceParser.Output;
-
- IllustrationPointsResult = illustrationPointsParser.Output;
}
}
}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs
===================================================================
diff -u -r2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 2fb9ff1aeea694e4ee33075b6ae5e6f3f819573c)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -25,6 +25,7 @@
using System.Diagnostics;
using System.IO;
using System.Security;
+using log4net;
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Input;
using Ringtoets.HydraRing.Calculation.Data.Output.IllustrationPoints;
@@ -41,6 +42,8 @@
///
internal abstract class HydraRingCalculatorBase
{
+ private static readonly ILog log = LogManager.GetLogger(typeof(HydraRingCalculatorBase));
+
private readonly LastErrorFileParser lastErrorFileParser;
private readonly IllustrationPointsParser illustrationPointsParser;
@@ -171,8 +174,9 @@
illustrationPointsParser.Parse(hydraRingInitializationService.TemporaryWorkingDirectory, sectionId);
IllustrationPointsResult = illustrationPointsParser.Output;
}
- catch (HydraRingFileParserException)
+ catch (HydraRingFileParserException e)
{
+ log.Warn(e.Message, e);
IllustrationPointsResult = null;
}
}
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj
===================================================================
diff -u -rc2c7e9621863d470ddd3a1d5c0e4913844066aae -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision c2c7e9621863d470ddd3a1d5c0e4913844066aae)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -32,6 +32,10 @@
AllRules.ruleset
+
+ ..\..\..\..\packages\log4net.2.0.4\lib\net40-full\log4net.dll
+ True
+
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/packages.config
===================================================================
diff -u -r64d60335b1deab4bafd37f78f3514660cc4afb27 -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/packages.config (.../packages.config) (revision 64d60335b1deab4bafd37f78f3514660cc4afb27)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/packages.config (.../packages.config) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -1,4 +1,5 @@
-
+
\ No newline at end of file
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs
===================================================================
diff -u -r6c058f12138b8a73a78eacd10357d9caa81ed67d -r93044b3ed52a925c5321b68ff2beb886c6bf7068
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs (.../HydraRingCalculatorBaseTest.cs) (revision 6c058f12138b8a73a78eacd10357d9caa81ed67d)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs (.../HydraRingCalculatorBaseTest.cs) (revision 93044b3ed52a925c5321b68ff2beb886c6bf7068)
@@ -24,6 +24,7 @@
using System.ComponentModel;
using System.IO;
using System.Security;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.HydraRing.Calculation.Calculator;
using Ringtoets.HydraRing.Calculation.Data;
@@ -107,6 +108,33 @@
Assert.AreEqual(expectedMessage, exception.Message);
Assert.AreSame(supportedException.InnerException, exception.InnerException);
}
+
+ [Test]
+ public void Calculate_LastErrorFilePresent_LastErrorFileContentSet()
+ {
+ // Setup
+ var calculator = new TestHydraRingCalculator("", new TestParser());
+
+ // Call
+ calculator.PublicCalculate();
+
+ // Assert
+ Assert.AreEqual(" Hydraulic database HLCD.sqlite not found.\r\n", calculator.LastErrorFileContent);
+ }
+
+ [Test]
+ public void Calculate_IllustrationPointsParserThrowsException_LogExceptionMessageAsWarning()
+ {
+ // Setup
+ var calculator = new TestHydraRingCalculator("", new TestParser());
+
+ // Call
+ Action test = () => calculator.PublicCalculate();
+
+ // Assert
+ const string expectedMessage = "Er konden geen illustratiepunten worden uitgelezen.";
+ TestHelper.AssertLogMessageWithLevelIsGenerated(test, new Tuple(expectedMessage, LogLevelConstant.Warn));
+ }
}
internal class TestHydraRingCalculator : HydraRingCalculatorBase