Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs =================================================================== diff -u -r1926 -r1932 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WbiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 1926) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WbiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 1932) @@ -28,9 +28,11 @@ using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; +using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.TestHelpers.Factories; +using Deltares.WTIPiping; using NUnit.Framework; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.WbiPipingSellmeijerRevised @@ -355,5 +357,80 @@ List results; kernelWrapper.PostProcess(null, new DamPipingSellmeijer4ForcesOutput(), null, "", out results); } + + [TestCase(CharacteristicPointType.BottomDitchPolderSide, PipingCharacteristicPointType.BottomDitchPolderSide)] + [TestCase(CharacteristicPointType.BottomDitchDikeSide, PipingCharacteristicPointType.BottomDitchDikeSide)] + [TestCase(CharacteristicPointType.DikeLine, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.DikeToeAtPolder, PipingCharacteristicPointType.DikeToeAtPolder)] + [TestCase(CharacteristicPointType.DikeToeAtRiver, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.DikeTopAtPolder, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.DikeTopAtRiver, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.DitchDikeSide, PipingCharacteristicPointType.DitchDikeSide)] + [TestCase(CharacteristicPointType.DitchPolderSide, PipingCharacteristicPointType.DitchPolderSide)] + [TestCase(CharacteristicPointType.None, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.ShoulderBaseInside, PipingCharacteristicPointType.ShoulderBaseInside)] + [TestCase(CharacteristicPointType.ShoulderBaseOutside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.ShoulderTopInside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.ShoulderTopOutside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.SurfaceLevelInside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.SurfaceLevelOutside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.TrafficLoadInside, PipingCharacteristicPointType.None)] + [TestCase(CharacteristicPointType.TrafficLoadOutside, PipingCharacteristicPointType.None)] + public void TestConvertToPipingPointType(CharacteristicPointType charPointType, PipingCharacteristicPointType pipingCharacteristicPointType) + { + Assert.AreEqual(pipingCharacteristicPointType, WbiPipingSellmeijerRevisedKernelWrapper.ConvertToPipingPointType(charPointType)); + } + + [Test] + public void TestConvertToPipingSurfaceLine() + { + const double diff = 0.0001; + var surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineForWbiPiping(true); + var surfaceLinePiping = WbiPipingSellmeijerRevisedKernelWrapper.ConvertToPipingSurfaceLine(surfaceLine); + Assert.AreEqual(12, surfaceLinePiping.Points.Count); + // Check some coodinates and types + Assert.AreEqual(34.5, surfaceLinePiping.Points[2].X, diff); + Assert.AreEqual(0, surfaceLinePiping.Points[2].Y, diff); + Assert.AreEqual(5, surfaceLinePiping.Points[2].Z, diff); + Assert.AreEqual(PipingCharacteristicPointType.None, surfaceLinePiping.Points[2].Type); + + Assert.AreEqual(38.5, surfaceLinePiping.Points[4].X, diff); + Assert.AreEqual(0, surfaceLinePiping.Points[4].Y, diff); + Assert.AreEqual(5, surfaceLinePiping.Points[4].Z, diff); + Assert.AreEqual(PipingCharacteristicPointType.None, surfaceLinePiping.Points[4].Type); + + Assert.AreEqual(58.5, surfaceLinePiping.Points[7].X, diff); + Assert.AreEqual(0, surfaceLinePiping.Points[7].Y, diff); + Assert.AreEqual(0, surfaceLinePiping.Points[7].Z, diff); + Assert.AreEqual(PipingCharacteristicPointType.DitchDikeSide, surfaceLinePiping.Points[7].Type); + + Assert.AreEqual(61.5, surfaceLinePiping.Points[9].X, diff); + Assert.AreEqual(0, surfaceLinePiping.Points[9].Y, diff); + Assert.AreEqual(-1, surfaceLinePiping.Points[9].Z, diff); + Assert.AreEqual(PipingCharacteristicPointType.BottomDitchPolderSide, surfaceLinePiping.Points[9].Type); + } + + [Test] + public void TestConvertToPipingProfile() + { + const double diff = 0.0001; + var profile = FactoryForSoilProfiles.CreatePipingSellmeijerProfileWithOneSandlayer(); + var profilePiping = WbiPipingSellmeijerRevisedKernelWrapper.ConvertToPipingProfile(profile); + Assert.AreEqual(2, profilePiping.Layers.Count); + + Assert.AreEqual(10, profilePiping.Layers[0].TopLevel, diff); + Assert.AreEqual(11, profilePiping.Layers[0].AbovePhreaticLevel, diff); + Assert.AreEqual(14, profilePiping.Layers[0].BelowPhreaticLevel, diff); + Assert.AreEqual(false, profilePiping.Layers[0].IsAquifer); + Assert.AreEqual(double.NaN, profilePiping.Layers[0].DryUnitWeight, diff); + + Assert.AreEqual(-2, profilePiping.Layers[1].TopLevel, diff); + Assert.AreEqual(20, profilePiping.Layers[1].AbovePhreaticLevel, diff); + Assert.AreEqual(22, profilePiping.Layers[1].BelowPhreaticLevel, diff); + Assert.AreEqual(true, profilePiping.Layers[1].IsAquifer); + Assert.AreEqual(double.NaN, profilePiping.Layers[1].DryUnitWeight, diff); + + Assert.AreEqual(-10, profilePiping.BottomLevel, diff); + } } } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj =================================================================== diff -u -r1901 -r1932 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 1901) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/Deltares.DamEngine.Calculators.Tests.csproj (.../Deltares.DamEngine.Calculators.Tests.csproj) (revision 1932) @@ -36,6 +36,10 @@ False ..\..\lib\FailureMechanisms\DamMacroStability\Deltares.DamMacroStability.Calculator.dll + + False + ..\..\lib\FailureMechanisms\WbiPipingMerged\Deltares.WTIPiping.Merged.dll + ..\..\lib\NUnit\nunit.framework.dll Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs =================================================================== diff -u -r1926 -r1932 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs (.../WbiPipingSellmeijerRevisedKernelWrapper.cs) (revision 1926) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WbiPipingSellmeijerRevised/WbiPipingSellmeijerRevisedKernelWrapper.cs (.../WbiPipingSellmeijerRevisedKernelWrapper.cs) (revision 1932) @@ -524,7 +524,7 @@ /// /// Type of the characteristic point. /// the PipingCharacteristicPointType - private static PipingCharacteristicPointType ConvertToPipingPointType(CharacteristicPointType characteristicPointType) + internal static PipingCharacteristicPointType ConvertToPipingPointType(CharacteristicPointType characteristicPointType) { switch (characteristicPointType) { @@ -543,7 +543,7 @@ /// /// The surface line. /// the PipingSurfaceLine - private static PipingSurfaceLine ConvertToPipingSurfaceLine(SurfaceLine2 surfaceLine) + internal static PipingSurfaceLine ConvertToPipingSurfaceLine(SurfaceLine2 surfaceLine) { var pipingSurfaceLine = new PipingSurfaceLine(); foreach (var surfaceLineCharacteristicPoint in surfaceLine.CharacteristicPoints) @@ -565,7 +565,7 @@ /// /// The soil profile1 d. /// the PipingProfile - private static PipingProfile ConvertToPipingProfile(SoilProfile1D soilProfile1D) + internal static PipingProfile ConvertToPipingProfile(SoilProfile1D soilProfile1D) { var pipingProfile = new PipingProfile(); foreach (var soilLayer1D in soilProfile1D.Layers) @@ -581,10 +581,7 @@ }; pipingProfile.Layers.Add(pipingLayer); } - if (pipingProfile.Layers.Count > 0) - { - pipingProfile.BottomLevel = pipingProfile.Layers[pipingProfile.Layers.Count - 1].TopLevel - 10; - } + pipingProfile.BottomLevel = soilProfile1D.BottomLevel; return pipingProfile; }