Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs
===================================================================
diff -u -r4000 -r4052
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 4000)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/OperationalGrebbedijkTests.cs (.../OperationalGrebbedijkTests.cs) (revision 4052)
@@ -31,132 +31,131 @@
using Deltares.DamEngine.TestHelpers;
using NUnit.Framework;
-namespace Deltares.DamEngine.IntegrationTests.IntegrationTests
+namespace Deltares.DamEngine.IntegrationTests.IntegrationTests;
+
+///
+/// These tests were based on DamLiveIntegrationTest.Run_UsingTestFiles_HasExpectedResultsInOutputFile()
+///
+[TestFixture]
+class OperationalGrebbedijkTests
{
- ///
- /// These tests were based on DamLiveIntegrationTest.Run_UsingTestFiles_HasExpectedResultsInOutputFile()
- ///
- [TestFixture]
- class OperationalGrebbedijkTests
- {
- private const double tolerance = 0.0005;
+ private const double tolerance = 0.0005;
- [Test]
- [Ignore("#Bka: this is a Bishop test. So as soon as that model is implemented it must be activated and made to work again.")]
- [Category("Work_In_Progress")]
- public void Run_UsingTestFiles_HasExpectedResultsInOutputFile()
+ [Test]
+ [Ignore("#Bka: this is a Bishop test. So as soon as that model is implemented it must be activated and made to work again.")]
+ [Category("Work_In_Progress")]
+ public void Run_UsingTestFiles_HasExpectedResultsInOutputFile()
+ {
+ const string calcDir = "TestOperationalGrebbedijk";
+ const string workingDir = @"TestFiles\";
+ const string baseTestDirectory = @".\";
+ if (Directory.Exists(calcDir))
{
- const string calcDir = "TestOperationalGrebbedijk";
- const string workingDir = @"TestFiles\";
- const string baseTestDirectory = @".\";
- if (Directory.Exists(calcDir))
- {
- Directory.Delete(calcDir, true); // delete previous results
- }
-
- Directory.CreateDirectory(calcDir);
- // Switch to TestFiles directory to check if DamLive can also run from another directory
- Directory.SetCurrentDirectory(workingDir);
- // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
- const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
- const string outputFileName = baseTestDirectory + @"GrebbedijkStability.output.xml";
- string inputString = File.ReadAllText(inputFileName);
- inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
- inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
- var engineInterface = new EngineInterface(inputString);
- Assert.IsNotNull(engineInterface.DamProjectData);
- foreach (Location 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.IsNull(result, "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);
- Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
- 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(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
- Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
+ Directory.Delete(calcDir, true); // delete previous results
}
- //[TestCase(PipingModelType.Bligh)] //ToDo add succesfull test for Bligh/SellmeijerVnk
- //[TestCase(PipingModelType.SellmeijerVnk)]
- [TestCase(PipingModelType.Sellmeijer4Forces)]
- public void Run_UsingTestFiles_ButWithUnsupportedPipingModelFails(PipingModelType pipingModel)
+ Directory.CreateDirectory(calcDir);
+ // Switch to TestFiles directory to check if DamLive can also run from another directory
+ Directory.SetCurrentDirectory(workingDir);
+ // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
+ const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
+ const string outputFileName = baseTestDirectory + @"GrebbedijkStability.output.xml";
+ string inputString = File.ReadAllText(inputFileName);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
+ var engineInterface = new EngineInterface(inputString);
+ Assert.IsNotNull(engineInterface.DamProjectData);
+ foreach (Location dikeLocation in engineInterface.DamProjectData.Dike.Locations)
{
- const string calcDir = "TestOperationalGrebbedijk";
- const string workingDir = @".\";
- const string baseTestDirectory = @".\";
- if (Directory.Exists(calcDir))
- {
- Directory.Delete(calcDir, true); // delete previous results
- }
-
- Directory.CreateDirectory(calcDir);
- // Switch to TestFiles directory to check if DamLive can also run from another directory
- Directory.SetCurrentDirectory(workingDir);
- // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
- const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
- string inputString = File.ReadAllText(inputFileName);
- inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
- inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
- var engineInterface = new EngineInterface(inputString);
- Assert.IsNotNull(engineInterface.DamProjectData);
- engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.Piping;
- engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel;
- Assert.That(() => engineInterface.Run(), Throws.TypeOf(typeof(NotImplementedException)).With.Message.EqualTo("The method or operation is not implemented."));
+ 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);
}
- [TestCase(PipingModelType.Wti2017)]
- public void Run_UsingTestFiles_ButWithSupportedPipingModelFailsBecauseNoRelevantSegments(PipingModelType pipingModel)
+ string result = engineInterface.Validate();
+ Assert.IsNull(result, "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);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ 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(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[0].Value, tolerance);
+ Assert.AreEqual(2.326, output.Results.OperationalOutputTimeSeries[1].Entries.TimeSerieEntry[1].Value, tolerance);
+ }
+
+ //[TestCase(PipingModelType.Bligh)] //ToDo add succesfull test for Bligh/SellmeijerVnk
+ //[TestCase(PipingModelType.SellmeijerVnk)]
+ [TestCase(PipingModelType.Sellmeijer4Forces)]
+ public void Run_UsingTestFiles_ButWithUnsupportedPipingModelFails(PipingModelType pipingModel)
+ {
+ const string calcDir = "TestOperationalGrebbedijk";
+ const string workingDir = @".\";
+ const string baseTestDirectory = @".\";
+ if (Directory.Exists(calcDir))
{
- const string calcDir = "TestOperationalGrebbedijk";
- const string workingDir = @"TestFiles\";
- const string baseTestDirectory = @".\";
- if (Directory.Exists(calcDir))
- {
- Directory.Delete(calcDir, true); // delete previous results
- }
+ Directory.Delete(calcDir, true); // delete previous results
+ }
- Directory.CreateDirectory(calcDir);
- // Switch to TestFiles directory to check if DamLive can also run from another directory
- Directory.SetCurrentDirectory(workingDir);
- // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
- const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
- string inputString = File.ReadAllText(inputFileName);
- inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
- inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
- inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
- var engineInterface = new EngineInterface(inputString);
- Assert.IsNotNull(engineInterface.DamProjectData);
- engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.Piping;
- engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel;
- string outputString = engineInterface.Run();
- Assert.IsNotNull(outputString);
- Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
- Assert.AreEqual(2, output.Results.CalculationMessages.Length);
- Assert.AreEqual(MessageMessageType.Info, output.Results.CalculationMessages[0].MessageType);
- Assert.AreEqual("There are 2 locations with sensor data", output.Results.CalculationMessages[0].Message1);
- Assert.AreEqual(MessageMessageType.Error, output.Results.CalculationMessages[1].MessageType);
- Assert.AreEqual("No segments with failure mechanism Piping present", output.Results.CalculationMessages[1].Message1);
+ Directory.CreateDirectory(calcDir);
+ // Switch to TestFiles directory to check if DamLive can also run from another directory
+ Directory.SetCurrentDirectory(workingDir);
+ // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
+ const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
+ string inputString = File.ReadAllText(inputFileName);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
+ var engineInterface = new EngineInterface(inputString);
+ Assert.IsNotNull(engineInterface.DamProjectData);
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.Piping;
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel;
+ Assert.That(() => engineInterface.Run(), Throws.TypeOf(typeof(NotImplementedException)).With.Message.EqualTo("The method or operation is not implemented."));
+ }
+
+ [TestCase(PipingModelType.Wti2017)]
+ public void Run_UsingTestFiles_ButWithSupportedPipingModelFailsBecauseNoRelevantSegments(PipingModelType pipingModel)
+ {
+ const string calcDir = "TestOperationalGrebbedijk";
+ const string workingDir = @"TestFiles\";
+ const string baseTestDirectory = @".\";
+ if (Directory.Exists(calcDir))
+ {
+ Directory.Delete(calcDir, true); // delete previous results
}
+
+ Directory.CreateDirectory(calcDir);
+ // Switch to TestFiles directory to check if DamLive can also run from another directory
+ Directory.SetCurrentDirectory(workingDir);
+ // Based on "DamLive\trunk\src\Deltares.DamLive.Tests\TestData\DamLive\Set2\\output.damx"
+ const string inputFileName = baseTestDirectory + @"GrebbedijkStability.xml";
+ string inputString = File.ReadAllText(inputFileName);
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", baseTestDirectory + @"Operational\Grebbedijk\input.Geometries\");
+ inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", baseTestDirectory + @"Operational\Grebbedijk\input0.soilmaterials.mdb");
+ var engineInterface = new EngineInterface(inputString);
+ Assert.IsNotNull(engineInterface.DamProjectData);
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.Piping;
+ engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType = pipingModel;
+ string outputString = engineInterface.Run();
+ Assert.IsNotNull(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Assert.AreEqual(2, output.Results.CalculationMessages.Length);
+ Assert.AreEqual(MessageMessageType.Info, output.Results.CalculationMessages[0].MessageType);
+ Assert.AreEqual("There are 2 locations with sensor data", output.Results.CalculationMessages[0].Message1);
+ Assert.AreEqual(MessageMessageType.Error, output.Results.CalculationMessages[1].MessageType);
+ Assert.AreEqual("No segments with failure mechanism Piping present", output.Results.CalculationMessages[1].Message1);
}
}
\ No newline at end of file