Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs =================================================================== diff -u -r98a9ab8c8767367a37ccde50f98af06d1c28ed3e -r3c10891728420f1c0aa0071574bbfb149710c556 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs (.../PipingInputExtensionsTest.cs) (revision 98a9ab8c8767367a37ccde50f98af06d1c28ed3e) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs (.../PipingInputExtensionsTest.cs) (revision 3c10891728420f1c0aa0071574bbfb149710c556) @@ -4,9 +4,13 @@ using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.Piping.Calculation; +using Ringtoets.Piping.Calculation.TestUtil.SubCalculator; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Extensions; using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Service; +using Ringtoets.Piping.Service.TestUtil; namespace Ringtoets.Piping.Forms.Test.Extensions { @@ -1024,6 +1028,31 @@ #endregion + [Test] + public void GetPiezometricHeadExit_Always_SetsParametersForCalculatorAndReturnRoundedDouble() + { + // Setup + var input = new PipingInput(new GeneralPipingInput()); + + using (new PipingCalculationServiceConfig()) + { + // Call + var result = input.GetPiezometricHeadExit(); + + // Assert + Assert.AreEqual(2, result.NumberOfDecimalPlaces); + + var factory = (TestPipingSubCalculatorFactory) PipingCalculationService.SubCalculatorFactory; + var piezometricHeadAtExitCalculator = factory.LastCreatedPiezometricHeadAtExitCalculator; + + Assert.AreEqual(input.AssessmentLevel.Value, piezometricHeadAtExitCalculator.HRiver); + Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.PhiPolder, + GetAccuracy(input.PhreaticLevelExit.Mean)); + Assert.AreEqual(PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.RExit, + GetAccuracy(input.DampingFactorExit.Mean)); + } + } + #region test input creation helpers private static RingtoetsPipingSurfaceLine ValidSurfaceLine(double xMin, double xMax) @@ -1136,5 +1165,9 @@ } #endregion + private static double GetAccuracy(RoundedDouble roundedDouble) + { + return Math.Pow(10.0, -roundedDouble.NumberOfDecimalPlaces); + } } } \ No newline at end of file