Index: Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs =================================================================== diff -u -rc0a3ced404197fd781c6fcbcfc21c6676592be57 -r8b85f978c7bbe5c29a6ada6509f14d0462b8b9c3 --- Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision c0a3ced404197fd781c6fcbcfc21c6676592be57) +++ Ringtoets/Piping/test/Ringtoets.Piping.Calculation.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision 8b85f978c7bbe5c29a6ada6509f14d0462b8b9c3) @@ -3,6 +3,7 @@ using System.Linq; using Core.Common.Base.Data; +using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Piping.Calculation.SubCalculator; @@ -356,10 +357,31 @@ var result = calculation.CalculateThicknessCoverageLayer(); // Assert - Assert.IsFalse(double.IsNaN(result)); + Assert.AreEqual(1.0, result); } [Test] + public void CalculateThicknessCoverageLayer_WithValidInputWithAquiferAboveSurfaceLine_ReturnsNegativeThickness() + { + // Setup + PipingCalculatorInput input = new TestPipingInput().AsRealInput(); + input.SurfaceLine.SetGeometry(new [] + { + new Point3D(0, 0, 0.5), + new Point3D(1, 0, 1.5), + new Point3D(2, 0, -1) + }); + + var calculation = new PipingCalculator(input, new PipingSubCalculatorFactory()); + + // Call + var result = calculation.CalculateThicknessCoverageLayer(); + + // Assert + Assert.AreEqual(result, -3.0); + } + + [Test] public void CalculateThicknessCoverageLayer_WithExitPointLBeyondSurfaceLineInput_ReturnsNaN() { // Setup