Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml
===================================================================
diff -u -r3249 -r3296
--- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 3249)
+++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/TestFiles/GrebbedijkStability.xml (.../GrebbedijkStability.xml) (revision 3296)
@@ -38,10 +38,10 @@
-
-
-
-
+
+
+
+
@@ -58,14 +58,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs
===================================================================
diff -u -r3291 -r3296
--- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3291)
+++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 3296)
@@ -193,7 +193,7 @@
}
}
- public void Validate(bool IsOperational)
+ public void Validate(bool isOperational)
{
if (Locations == null || Locations.Count < 1)
{
@@ -211,16 +211,21 @@
throw new SurfaceLineException(validationResults[0].Text);
}
}
-
- if (location.Scenarios.Count < 1)
- {
- throw new DikeException("Location " + location.Name + " has no scenarios, at least one scenario is required.");
- }
- if (IsOperational && location.Scenarios.Count > 1)
+ if (isOperational)
{
- throw new DikeException(string.Format(
- "For Operational (DamLive), location {0} has {1} scenarios but only one is allowed!", location.Name, location.Scenarios.Count));
+ if (location.Scenarios.Count < 1)
+ {
+ throw new DikeException("Location " + location.Name +
+ " has no scenarios, at least one scenario is required.");
+ }
+
+ if (location.Scenarios.Count > 1)
+ {
+ throw new DikeException(string.Format(
+ "For Operational (DamLive), location {0} has {1} scenarios but only one is allowed!",
+ location.Name, location.Scenarios.Count));
+ }
}
}
}
Index: DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs
===================================================================
diff -u -r3293 -r3296
--- DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3293)
+++ DamEngine/branches/DamEngine 19.2/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 3296)
@@ -22,7 +22,9 @@
using System;
using System.IO;
using System.Text;
+using Deltares.DamEngine.Data.Design;
using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Interface;
using Deltares.DamEngine.Io;
using Deltares.DamEngine.Io.XmlOutput;
@@ -40,7 +42,6 @@
private const double tolerance = 0.0005;
[Test]
- [Category(Categories.WorkInProgress)]
public void Run_UsingTestFiles_HasExpectedResultsInOutputFile()
{
const string calcDir = "TestOperationalGrebbedijk";
@@ -64,18 +65,30 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
EngineInterface engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
+ foreach (var dikeLocation in engineInterface.DamProjectData.Dike.Locations)
+ {
+ var scenario = new DesignScenario();
+ scenario.RiverLevel = dikeLocation.SurfaceLine.CharacteristicPoints
+ .GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver).Z + 1.5;
+ scenario.PolderLevel = dikeLocation.SurfaceLine.CharacteristicPoints
+ .GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder).Z - 0.6;
+ scenario.HeadPl3 = 1;
+ scenario.HeadPl4 = scenario.PolderLevel;
+ scenario.RequiredSafetyFactorStabilityInnerSlope = 1.2;
+ dikeLocation.Scenarios.Add(scenario);
+ }
string result = engineInterface.Validate();
- // Assert.IsTrue(result == null, "Validation must succeed but does not, see validation output xml in debugger");
+ Assert.IsTrue(result == null, "Validation must succeed but does not, see validation output xml in debugger");
string outputString = engineInterface.Run();
File.WriteAllText(outputFileName, outputString, Encoding.Unicode);
Assert.IsNotNull(outputString);
var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
- Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance);
- Assert.AreEqual(1.603, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance);
+ Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[0].Value, tolerance);
+ Assert.AreEqual(2.321, output.Results.OperationalOutputTimeSeries[0].Entries.TimeSerieEntry[1].Value, tolerance);
// Following values were 0.590 in the previous DamLive version, but that has to do with how the
// reference level Su is handled in D-GeoStability 18.1 and D-GeoStability 15.1
- Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
- Assert.AreEqual(1.007, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
+ Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
+ Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
}