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