Index: dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj
===================================================================
diff -u -r715 -r749
--- dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj (.../Deltares.DamEngine.Interface.Tests.csproj) (revision 715)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/Deltares.DamEngine.Interface.Tests.csproj (.../Deltares.DamEngine.Interface.Tests.csproj) (revision 749)
@@ -66,6 +66,7 @@
+
Index: dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs
===================================================================
diff -u
--- dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (revision 0)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (revision 749)
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Deltares.DamEngine.Io;
+using NUnit.Framework;
+
+namespace Deltares.DamEngine.Interface.Tests
+{
+ [TestFixture]
+ public class PipingSellmeijerVnkTests
+ {
+ private const double tolerance = 0.0005;
+
+ [Test]
+ public void CanPerformSellmeijer4ForcesDesignPipingVoorbeeld1()
+ {
+ const string fileName = @"TestFiles\PipingVoorbeeld1_SellmeijerVNKInputFile.xml";
+ string inputString = File.ReadAllText(fileName);
+ EngineInterface engineInterface = new EngineInterface(inputString);
+ Assert.IsNotNull(engineInterface.DamProjectData);
+ string outputString = engineInterface.Run();
+ // Factor piping = 0.463
+ // Kritische hoogte = 1.619
+ // Factor opdrijven = 0.351
+ // Kwelweglengte piping = 25.0
+ // Intredepunt x-lokaal = 10.0
+ // Uittredepunt x-lokaal = 35.0
+ // Opdrijven = true
+ // Profielnaam = soilprofile_01
+ // PL3 opdrijven = 0.582
+ // PL3 stijghoogte aangepast = 1.262
+ // PL3 locatie opdriven lokaal = 35.0
+ // PL4 opdrijven = 0.0
+ // PL4 stijghoogte aangepast = 0.0
+ // PL4 locatie opdrijven lokaal = 0.0
+ // Locatie naam = "profiel 1"
+ // ID locatie scenario = "1"
+ // Heave Factor = 90.0
+ Assert.IsNotNull(outputString);
+ var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Assert.AreEqual(0.463, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesFactor, tolerance);
+ Assert.AreEqual(1.759, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.Sellmeijer4ForcesHcritical, tolerance);
+ Assert.AreEqual(35.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ExitPointX, tolerance);
+ // The following values are not the same as in the classic UI
+ // The upliftfactor there is 0.351, but that is the Wti Upliftfactor
+ // The adjusted PL3/PL4 values there are not 0.0, but those are the values for stability; for piping no adjustment has to be made
+ Assert.AreEqual(0.5825, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftFactor, tolerance);
+ Assert.AreEqual(true, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.IsUplift);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3MinUplift, tolerance);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3HeadAdjusted, tolerance);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl3LocationXMinUplift, tolerance);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4MinUplift, tolerance);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4HeadAdjusted, tolerance);
+ Assert.AreEqual(0.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.UpliftSituation.Pl4LocationXMinUplift, tolerance);
+ }
+
+ }
+}