Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs
===================================================================
diff -u -r2ad324afda61327592af1226a9d8d3de01b614be -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision 2ad324afda61327592af1226a9d8d3de01b614be)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -6,6 +6,7 @@
using Ringtoets.Integration.Forms.PresentationObjects;
using Ringtoets.Integration.Plugin.FileImporters;
using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Forms.Extensions;
using Ringtoets.Piping.Plugin.FileImporter;
namespace Demo.Ringtoets.Commands
@@ -96,7 +97,7 @@
}
var calculation = pipingFailureMechanism.CalculationsGroup.GetPipingCalculations().First();
- calculation.InputParameters.SurfaceLine = pipingFailureMechanism.SurfaceLines.First(sl => sl.Name == "PK001_0001");
+ calculation.InputParameters.SetSurfaceLine(pipingFailureMechanism.SurfaceLines.First(sl => sl.Name == "PK001_0001"));
calculation.InputParameters.SoilProfile = pipingFailureMechanism.SoilProfiles.First(sl => sl.Name == "AD640M00_Segment_36005_1D2");
calculation.InputParameters.PhreaticLevelExit.Mean = 3;
}
Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj
===================================================================
diff -u -r2ad324afda61327592af1226a9d8d3de01b614be -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 2ad324afda61327592af1226a9d8d3de01b614be)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -128,6 +128,10 @@
Ringtoets.Piping.Data
False
+
+ {7cd038e1-e111-4969-aced-22c5bd2974e1}
+ Ringtoets.Piping.Forms
+
{1d3d58b6-ef7e-401e-92a0-104067d222ee}
Ringtoets.Piping.Plugin
Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs
===================================================================
diff -u -r9eb91cfa000697ddfdeace89aa8f1e959fc1f7f9 -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision 9eb91cfa000697ddfdeace89aa8f1e959fc1f7f9)
+++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -133,8 +133,8 @@
Assert.AreEqual(118.627, calculation.Output.HeaveZValue, 1e-3);
Assert.AreEqual(99.0, calculation.Output.UpliftFactorOfSafety, 1e-3);
Assert.AreEqual(3.655, calculation.Output.UpliftZValue, 1e-3);
- Assert.AreEqual(-1.56, calculation.Output.SellmeijerFactorOfSafety, 1e-3);
- Assert.AreEqual(3.478, calculation.Output.SellmeijerZValue, 1e-3);
+ Assert.AreEqual(-1.384, calculation.Output.SellmeijerFactorOfSafety, 1e-3);
+ Assert.AreEqual(3.239, calculation.Output.SellmeijerZValue, 1e-3);
}
private static void AssertExpectedPipingInput(PipingInput inputParameters)
@@ -160,7 +160,7 @@
Assert.AreEqual(3.666, PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(inputParameters).GetDesignValue(), 1e-3);
Assert.AreEqual(1.355, PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(inputParameters).GetDesignValue(), 1e-3);
Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetThicknessCoverageLayer(inputParameters).GetDesignValue(), 1e-3);
- Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetSeepageLength(inputParameters).GetDesignValue(), 92.614006456265088);
+ Assert.AreEqual(81.175842733588766, PipingSemiProbabilisticDesignValueFactory.GetSeepageLength(inputParameters).GetDesignValue(), 1e-3);
Assert.AreEqual(0.011, PipingSemiProbabilisticDesignValueFactory.GetDiameter70(inputParameters).GetDesignValue(), 1e-3);
Assert.AreEqual(2.345, PipingSemiProbabilisticDesignValueFactory.GetDarcyPermeability(inputParameters).GetDesignValue(), 1e-3);
Assert.AreEqual(2.345, PipingSemiProbabilisticDesignValueFactory.GetThicknessAquiferLayer(inputParameters).GetDesignValue(), 1e-3);
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs
===================================================================
diff -u -r1ce62a05fe624df22af3f1d83288457ec163dabc -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 1ce62a05fe624df22af3f1d83288457ec163dabc)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -20,7 +20,6 @@
// All rights reserved.
using System;
-using System.Linq;
using Core.Common.Base;
using Ringtoets.HydraRing.Data;
using Ringtoets.Piping.Data.Probabilistics;
@@ -33,8 +32,8 @@
///
public class PipingInput : Observable
{
- private RingtoetsPipingSurfaceLine surfaceLine;
private double assessmentLevel;
+ public const double SeepageLengthStandardDeviationFraction = 0.1;
///
/// Initializes a new instance of the class.
@@ -61,6 +60,7 @@
};
ThicknessCoverageLayer = new LognormalDistribution();
SeepageLength = new LognormalDistribution();
+ SeepageLength.StandardDeviation = SeepageLength.Mean * SeepageLengthStandardDeviationFraction;
Diameter70 = new LognormalDistribution();
DarcyPermeability = new LognormalDistribution();
ThicknessAquiferLayer = new LognormalDistribution();
@@ -173,18 +173,7 @@
///
/// Gets or sets the surface line.
///
- public RingtoetsPipingSurfaceLine SurfaceLine
- {
- get
- {
- return surfaceLine;
- }
- set
- {
- surfaceLine = value;
- UpdateValuesBasedOnSurfaceLine();
- }
- }
+ public RingtoetsPipingSurfaceLine SurfaceLine { get; set; }
///
/// Gets or sets the profile which contains a 1 dimensional definition of soil layers with properties.
@@ -196,30 +185,6 @@
///
public HydraulicBoundaryLocation HydraulicBoundaryLocation { get; set; }
- private void UpdateValuesBasedOnSurfaceLine()
- {
- var entryPointIndex = Array.IndexOf(surfaceLine.Points, surfaceLine.DikeToeAtRiver);
- var exitPointIndex = Array.IndexOf(surfaceLine.Points, surfaceLine.DikeToeAtPolder);
-
- var localGeometry = surfaceLine.ProjectGeometryToLZ().ToArray();
-
- var entryPointL = localGeometry[0].X;
- var exitPointL = localGeometry[localGeometry.Length - 1].X;
-
- var differentPoints = entryPointIndex < 0 || exitPointIndex < 0 || entryPointIndex < exitPointIndex;
- if (differentPoints && exitPointIndex > 0)
- {
- exitPointL = localGeometry.ElementAt(exitPointIndex).X;
- }
- if (differentPoints && entryPointIndex > -1)
- {
- entryPointL = localGeometry.ElementAt(entryPointIndex).X;
- }
-
- ExitPointL = exitPointL;
- SeepageLength.Mean = exitPointL - entryPointL;
- }
-
#region Probabilistic parameters
///
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Extensions/PipingInputExtensions.cs
===================================================================
diff -u
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Extensions/PipingInputExtensions.cs (revision 0)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Extensions/PipingInputExtensions.cs (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -0,0 +1,61 @@
+using System;
+using System.Linq;
+using Ringtoets.Piping.Data;
+
+namespace Ringtoets.Piping.Forms.Extensions
+{
+ ///
+ /// This classe extends the class with methods for modifying
+ /// properties and propagating the change to other (dependent) properties throughout
+ /// the instance.
+ ///
+ public static class PipingInputExtensions
+ {
+ ///
+ /// Updates the property and propagates changes to dependent
+ /// properties.
+ ///
+ /// The to update the surface line for.
+ /// The to set.
+ public static void SetSurfaceLine(this PipingInput input, RingtoetsPipingSurfaceLine surfaceLine)
+ {
+ input.SurfaceLine = surfaceLine;
+ UpdateValuesBasedOnSurfaceLine(input);
+ }
+
+ private static void UpdateValuesBasedOnSurfaceLine(PipingInput input)
+ {
+ var entryPointIndex = Array.IndexOf(input.SurfaceLine.Points, input.SurfaceLine.DikeToeAtRiver);
+ var exitPointIndex = Array.IndexOf(input.SurfaceLine.Points, input.SurfaceLine.DikeToeAtPolder);
+
+ var localGeometry = input.SurfaceLine.ProjectGeometryToLZ().ToArray();
+
+ var tempEntryPointL = localGeometry[0].X;
+ var tempExitPointL = localGeometry[localGeometry.Length - 1].X;
+
+ var differentPoints = entryPointIndex < 0 || exitPointIndex < 0 || entryPointIndex < exitPointIndex;
+ if (differentPoints && exitPointIndex > 0)
+ {
+ tempExitPointL = localGeometry.ElementAt(exitPointIndex).X;
+ }
+ if (differentPoints && entryPointIndex > -1)
+ {
+ tempEntryPointL = localGeometry.ElementAt(entryPointIndex).X;
+ }
+
+ input.ExitPointL = tempExitPointL;
+ input.SetSeepageLengthMean(tempExitPointL - tempEntryPointL);
+ }
+
+ ///
+ /// Sets the mean of the seepage length stochast.
+ ///
+ /// The to update the seepage length for.
+ /// The mean to set.
+ public static void SetSeepageLengthMean(this PipingInput input, double mean)
+ {
+ input.SeepageLength.Mean = mean;
+ input.SeepageLength.StandardDeviation = mean * PipingInput.SeepageLengthStandardDeviationFraction;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs
===================================================================
diff -u -r1ce62a05fe624df22af3f1d83288457ec163dabc -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 1ce62a05fe624df22af3f1d83288457ec163dabc)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -29,6 +29,7 @@
using Ringtoets.Piping.Calculation;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Data.Probabilistics;
+using Ringtoets.Piping.Forms.Extensions;
using Ringtoets.Piping.Forms.PresentationObjects;
using Ringtoets.Piping.Forms.Properties;
using Ringtoets.Piping.Forms.TypeConverters;
@@ -167,7 +168,7 @@
}
set
{
- data.WrappedData.SurfaceLine = value;
+ data.WrappedData.SetSurfaceLine(value);
data.WrappedData.NotifyObservers();
}
}
@@ -363,7 +364,7 @@
{
try
{
- data.WrappedData.SeepageLength.Mean = data.WrappedData.ExitPointL - value;
+ data.WrappedData.SetSeepageLengthMean(data.WrappedData.ExitPointL - value);
}
catch (ArgumentOutOfRangeException)
{
@@ -388,7 +389,8 @@
{
try
{
- data.WrappedData.SeepageLength.Mean -= data.WrappedData.ExitPointL - value;
+ var exitPointLChange = value - data.WrappedData.ExitPointL;
+ data.WrappedData.SetSeepageLengthMean(data.WrappedData.SeepageLength.Mean + exitPointLChange);
}
catch (ArgumentOutOfRangeException)
{
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj
===================================================================
diff -u -r428346aca4810ed68d8778943246f581cb1a4386 -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 428346aca4810ed68d8778943246f581cb1a4386)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -50,6 +50,7 @@
Properties\GlobalAssembly.cs
+
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs
===================================================================
diff -u -r1ce62a05fe624df22af3f1d83288457ec163dabc -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 1ce62a05fe624df22af3f1d83288457ec163dabc)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -36,7 +36,7 @@
Assert.AreEqual(defaultLogNormalStandardDev, inputParameters.ThicknessCoverageLayer.StandardDeviation);
Assert.IsInstanceOf(inputParameters.SeepageLength);
Assert.AreEqual(defaultLogNormalMean, inputParameters.SeepageLength.Mean);
- Assert.AreEqual(defaultLogNormalStandardDev, inputParameters.SeepageLength.StandardDeviation);
+ Assert.AreEqual(defaultLogNormalMean * 0.1, inputParameters.SeepageLength.StandardDeviation);
Assert.IsInstanceOf(inputParameters.Diameter70);
Assert.AreEqual(defaultLogNormalMean, inputParameters.Diameter70.Mean);
Assert.AreEqual(defaultLogNormalStandardDev, inputParameters.Diameter70.StandardDeviation);
@@ -68,112 +68,6 @@
}
[Test]
- public void SurfaceLine_WithDikeToeDikeSideAndDikeToeRiverSide_SetsExitPointLAndSeePageLength()
- {
- // Setup
- var inputParameters = new PipingInput();
- RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
- var firstPointX = 1.0;
- var secondPointX = 4.0;
- var point1 = new Point3D(firstPointX, 0.0, 2.0);
- var point2 = new Point3D(secondPointX, 0.0, 1.8);
- surfaceLine.SetGeometry(new []
- {
- point1,
- point2,
- });
- surfaceLine.SetDikeToeAtRiverAt(point1);
- surfaceLine.SetDikeToeAtPolderAt(point2);
-
- // Call
- inputParameters.SurfaceLine = surfaceLine;
-
- // Assert
- Assert.AreEqual(secondPointX - firstPointX, inputParameters.SeepageLength.Mean);
- Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
- }
-
- [Test]
- public void SurfaceLine_WithoutDikeToeDikeSideAndDikeToeRiverSide_ExitPointAtEndAndSeePageLengthIsLengthInX()
- {
- // Setup
- var inputParameters = new PipingInput();
- RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
- var firstPointX = 1.0;
- var secondPointX = 4.0;
- var point1 = new Point3D(firstPointX, 0.0, 2.0);
- var point2 = new Point3D(secondPointX, 0.0, 1.8);
- surfaceLine.SetGeometry(new[]
- {
- point1,
- point2
- });
-
- // Call
- inputParameters.SurfaceLine = surfaceLine;
-
- // Assert
- Assert.AreEqual(secondPointX - firstPointX, inputParameters.SeepageLength.Mean);
- Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
- }
-
- [Test]
- public void SurfaceLine_WithoutDikeToeDikeSide_ExitPointSetSeePageLengthStartToExitPointInX()
- {
- // Setup
- var inputParameters = new PipingInput();
- RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
- var firstPointX = 1.0;
- var secondPointX = 3.0;
- var thirdPointX = 5.0;
- var point1 = new Point3D(firstPointX, 0.0, 2.0);
- var point2 = new Point3D(secondPointX, 0.0, 1.8);
- var point3 = new Point3D(thirdPointX, 0.0, 1.8);
- surfaceLine.SetGeometry(new[]
- {
- point1,
- point2,
- point3
- });
- surfaceLine.SetDikeToeAtPolderAt(point2);
-
- // Call
- inputParameters.SurfaceLine = surfaceLine;
-
- // Assert
- Assert.AreEqual(2.0, inputParameters.SeepageLength.Mean);
- Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
- }
-
- [Test]
- public void SurfaceLine_WithoutDikeToeRiverSide_ExitPointAtEndSeePageLengthLessThanLengthInX()
- {
- // Setup
- var inputParameters = new PipingInput();
- RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
- var firstPointX = 1.0;
- var secondPointX = 3.0;
- var thirdPointX = 5.0;
- var point1 = new Point3D(firstPointX, 0.0, 2.0);
- var point2 = new Point3D(secondPointX, 0.0, 1.8);
- var point3 = new Point3D(thirdPointX, 0.0, 1.8);
- surfaceLine.SetGeometry(new[]
- {
- point1,
- point2,
- point3
- });
- surfaceLine.SetDikeToeAtRiverAt(point2);
-
- // Call
- inputParameters.SurfaceLine = surfaceLine;
-
- // Assert
- Assert.AreEqual(2.0, inputParameters.SeepageLength.Mean);
- Assert.AreEqual(thirdPointX - firstPointX, inputParameters.ExitPointL);
- }
-
- [Test]
public void AssessmentLevel_ValueIsNaN_ThrowsArgumentException()
{
// Setup
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Extensions/PipingInputExtensionsTest.cs (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -0,0 +1,119 @@
+using Core.Common.Base.Geometry;
+using NUnit.Framework;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Forms.Extensions;
+
+namespace Ringtoets.Piping.Forms.Test.Extensions
+{
+ [TestFixture]
+ public class PipingInputExtensionsTest
+ {
+ [Test]
+ public void SetSurfaceLine_WithDikeToeDikeSideAndDikeToeRiverSide_SetsExitPointLAndSeePageLength()
+ {
+ // Setup
+ var inputParameters = new PipingInput();
+ RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
+ var firstPointX = 1.0;
+ var secondPointX = 4.0;
+ var point1 = new Point3D(firstPointX, 0.0, 2.0);
+ var point2 = new Point3D(secondPointX, 0.0, 1.8);
+ surfaceLine.SetGeometry(new[]
+ {
+ point1,
+ point2,
+ });
+ surfaceLine.SetDikeToeAtRiverAt(point1);
+ surfaceLine.SetDikeToeAtPolderAt(point2);
+
+ // Call
+ inputParameters.SetSurfaceLine(surfaceLine);
+
+ // Assert
+ Assert.AreEqual(secondPointX - firstPointX, inputParameters.SeepageLength.Mean);
+ Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
+ }
+
+ [Test]
+ public void SetSurfaceLine_WithoutDikeToeDikeSideAndDikeToeRiverSide_ExitPointAtEndAndSeePageLengthIsLengthInX()
+ {
+ // Setup
+ var inputParameters = new PipingInput();
+ RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
+ var firstPointX = 1.0;
+ var secondPointX = 4.0;
+ var point1 = new Point3D(firstPointX, 0.0, 2.0);
+ var point2 = new Point3D(secondPointX, 0.0, 1.8);
+ surfaceLine.SetGeometry(new[]
+ {
+ point1,
+ point2
+ });
+
+ // Call
+ inputParameters.SetSurfaceLine(surfaceLine);
+
+ // Assert
+ Assert.AreEqual(secondPointX - firstPointX, inputParameters.SeepageLength.Mean);
+ Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
+ }
+
+ [Test]
+ public void SetSurfaceLine_WithoutDikeToeDikeSide_ExitPointSetSeePageLengthStartToExitPointInX()
+ {
+ // Setup
+ var inputParameters = new PipingInput();
+ RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
+ var firstPointX = 1.0;
+ var secondPointX = 3.0;
+ var thirdPointX = 5.0;
+ var point1 = new Point3D(firstPointX, 0.0, 2.0);
+ var point2 = new Point3D(secondPointX, 0.0, 1.8);
+ var point3 = new Point3D(thirdPointX, 0.0, 1.8);
+ surfaceLine.SetGeometry(new[]
+ {
+ point1,
+ point2,
+ point3
+ });
+ surfaceLine.SetDikeToeAtPolderAt(point2);
+
+ // Call
+ inputParameters.SetSurfaceLine(surfaceLine);
+
+ // Assert
+ Assert.AreEqual(2.0, inputParameters.SeepageLength.Mean);
+ Assert.AreEqual(0.2, inputParameters.SeepageLength.StandardDeviation);
+ Assert.AreEqual(secondPointX - firstPointX, inputParameters.ExitPointL);
+ }
+
+ [Test]
+ public void SetSurfaceLine_WithoutDikeToeRiverSide_ExitPointAtEndSeePageLengthLessThanLengthInX()
+ {
+ // Setup
+ var inputParameters = new PipingInput();
+ RingtoetsPipingSurfaceLine surfaceLine = new RingtoetsPipingSurfaceLine();
+ var firstPointX = 1.0;
+ var secondPointX = 3.0;
+ var thirdPointX = 5.0;
+ var point1 = new Point3D(firstPointX, 0.0, 2.0);
+ var point2 = new Point3D(secondPointX, 0.0, 1.8);
+ var point3 = new Point3D(thirdPointX, 0.0, 1.8);
+ surfaceLine.SetGeometry(new[]
+ {
+ point1,
+ point2,
+ point3
+ });
+ surfaceLine.SetDikeToeAtRiverAt(point2);
+
+ // Call
+ inputParameters.SetSurfaceLine(surfaceLine);
+
+ // Assert
+ Assert.AreEqual(2.0, inputParameters.SeepageLength.Mean);
+ Assert.AreEqual(0.2, inputParameters.SeepageLength.StandardDeviation);
+ Assert.AreEqual(thirdPointX - firstPointX, inputParameters.ExitPointL);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj
===================================================================
diff -u -r428346aca4810ed68d8778943246f581cb1a4386 -r2a7be595bf1251849a3c5f3be000f0e40f8fa874
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision 428346aca4810ed68d8778943246f581cb1a4386)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision 2a7be595bf1251849a3c5f3be000f0e40f8fa874)
@@ -59,6 +59,7 @@
+