Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs =================================================================== diff -u -rd6e6eadf4a2521df75b6d371bacbb181a43058a3 -r847f6b97f0a6e007a89364ad12d0541bc0d84d1e --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision d6e6eadf4a2521df75b6d371bacbb181a43058a3) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 847f6b97f0a6e007a89364ad12d0541bc0d84d1e) @@ -1,10 +1,11 @@ using System; using System.Linq; +using Core.Common.Base.Geometry; using Core.Common.TestUtil; using Ringtoets.Piping.Calculation.TestUtil; using NUnit.Framework; - +using Ringtoets.Piping.Calculation; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; @@ -71,6 +72,69 @@ } [Test] + public void CalculateThicknessCoverageLayer_ValidInput_ReturnsThickness() + { + // Setup + PipingInput input = new PipingInput(); + input.ExitPointL = 10; + input.SurfaceLine = new RingtoetsPipingSurfaceLine(); + input.SurfaceLine.SetGeometry(new [] + { + new Point3D(0, 0, 10), + new Point3D(20, 0, 10) + }); + input.SoilProfile = new PipingSoilProfile(string.Empty, 0, new [] + { + new PipingSoilLayer(5) + { + IsAquifer = true + }, + new PipingSoilLayer(20) + { + IsAquifer = false + } + }); + + // Call + var thickness = PipingCalculationService.CalculateThicknessCoverageLayer(input); + + // Assert + Assert.AreEqual(5, thickness); + } + + [Test] + public void CalculateThicknessCoverageLayer_SurfaceLineOutsideProfile_ThrowsPipingCalculatorException() + { + // Setup + PipingInput input = new PipingInput(); + input.ExitPointL = 10; + input.SurfaceLine = new RingtoetsPipingSurfaceLine(); + input.SurfaceLine.SetGeometry(new[] + { + new Point3D(0, 0, 10), + new Point3D(10, 0, 20+1e-3), + new Point3D(20, 0, 10) + }); + input.SoilProfile = new PipingSoilProfile(string.Empty, 0, new[] + { + new PipingSoilLayer(5) + { + IsAquifer = true + }, + new PipingSoilLayer(20) + { + IsAquifer = false + } + }); + + // Call + TestDelegate test = () => PipingCalculationService.CalculateThicknessCoverageLayer(input); + + // Assert + Assert.Throws(test); + } + + [Test] public void PerformValidatedCalculation_ValidPipingCalculation_LogStartAndEndOfValidatingInputsAndCalculation() { // Setup