Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs
===================================================================
diff -u -r3893 -r4000
--- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 3893)
+++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 4000)
@@ -34,6 +34,7 @@
using Deltares.DamEngine.TestHelpers;
using NUnit.Framework;
using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper;
+using UpliftSituation = Deltares.DamEngine.Io.XmlOutput.UpliftSituation;
namespace Deltares.DamEngine.IntegrationTests.IntegrationTests
{
@@ -63,14 +64,6 @@
RemoveUsedDirectoryAfterTests("TestStabInwardsBishopUpliftVanWithoutUpliftWithStixFiles");
}
- private void RemoveUsedDirectoryAfterTests(string directory)
- {
- if (Directory.Exists(directory))
- {
- Directory.Delete(directory, true);
- }
- }
-
/// Test for different segmentFailureMechanismType
/// The soilprobabilities are set tot the specified segmentFailureMechanismType
[Test, Category("Slow")]
@@ -94,21 +87,20 @@
Directory.CreateDirectory(calcDir);
-
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml";
string inputString = File.ReadAllText(fileName);
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", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString());
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.IsNotNull(output.Results.CalculationResults, "No results available");
Assert.AreEqual(1.282, output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Tolerance);
@@ -124,7 +116,7 @@
Assert.AreEqual("DWP_1.sti", output.Results.CalculationResults[0].ProfileName);
// Uplift
- var upliftSituation = output.Results.CalculationResults[0].StabilityDesignResults.UpliftSituation;
+ UpliftSituation upliftSituation = output.Results.CalculationResults[0].StabilityDesignResults.UpliftSituation;
Assert.IsNotNull(upliftSituation);
Assert.AreEqual(true, upliftSituation.IsUplift);
Assert.AreEqual(1.141, upliftSituation.Pl3MinUplift, Tolerance);
@@ -151,20 +143,21 @@
{
Directory.Delete(calcDir, true); // delete previous results
}
+
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml";
string inputString = File.ReadAllText(fileName);
inputString = ChangeInputModel(inputString, InputStabilityModelType.UpliftVan);
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", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.AreEqual(1.115, output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Tolerance);
// NumberOfIterations=0
@@ -179,7 +172,7 @@
Assert.AreEqual("DWP_1.sti", output.Results.CalculationResults[0].ProfileName);
// Uplift
- var upliftSituation = output.Results.CalculationResults[0].StabilityDesignResults.UpliftSituation;
+ UpliftSituation upliftSituation = output.Results.CalculationResults[0].StabilityDesignResults.UpliftSituation;
Assert.IsNotNull(upliftSituation);
Assert.AreEqual(true, upliftSituation.IsUplift);
Assert.AreEqual(1.141, upliftSituation.Pl3MinUplift, Tolerance);
@@ -206,22 +199,23 @@
{
Directory.Delete(calcDir, true); // delete previous results
}
+
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile.xml";
string inputString = File.ReadAllText(fileName);
inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan);
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", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// Bishop
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
Assert.AreEqual(1.282, result.StabilityDesignResults.SafetyFactor, Tolerance);
Assert.IsNotNull(result.StabilityDesignResults.UpliftSituation);
Assert.IsTrue(result.StabilityDesignResults.UpliftSituation.IsUplift);
@@ -259,22 +253,23 @@
{
Directory.Delete(calcDir, true); // delete previous results
}
+
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile13.xml";
string inputString = File.ReadAllText(fileName);
inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan);
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", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// Bishop
- var result = output.Results.CalculationResults[0].StabilityDesignResults;
+ DesignResultStabilityDesignResults result = output.Results.CalculationResults[0].StabilityDesignResults;
Assert.AreEqual(0.452, result.SafetyFactor, Tolerance);
Assert.IsNotNull(result.UpliftSituation);
Assert.IsTrue(result.UpliftSituation.IsUplift);
@@ -309,22 +304,23 @@
{
Directory.Delete(calcDir, true); // delete previous results
}
+
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile18.xml";
string inputString = File.ReadAllText(fileName);
inputString = ChangeInputModel(inputString, InputStabilityModelType.BishopUpliftVan);
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", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// Bishop
- var result = output.Results.CalculationResults[0].StabilityDesignResults;
+ DesignResultStabilityDesignResults result = output.Results.CalculationResults[0].StabilityDesignResults;
Assert.IsTrue(result.SafetyFactorSpecified);
Assert.AreEqual(1.458, result.SafetyFactor, Tolerance);
Assert.IsNotNull(result.UpliftSituation);
@@ -347,7 +343,7 @@
Assert.AreEqual(CalculationResult.NoRun, ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[1].CalculationResult));
Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[2].CalculationResult));
}
-
+
[Test, Category("Slow")]
[Ignore("Test disabled due to removal of the old MacroStability kernel wrapper implementation")]
public void TestRunMacroStabilityInvoer10ForbiddenZoneBishop()
@@ -375,17 +371,17 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\ZoneType.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\ZoneType0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.AreEqual(2, output.Results.CalculationResults.Length);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
// SafetyFactor=1.972 (Zone Areas)
Assert.AreEqual(1.972, result.StabilityDesignResults.SafetyFactor, Tolerance);
Assert.AreEqual("DWP_10_2", result.LocationName);
@@ -425,16 +421,16 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.AreEqual(4, output.Results.CalculationResults.Length);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
Assert.AreEqual("6-4-3-A-1-C", result.LocationName);
Assert.AreEqual("6-4-3-A-1-C_1_s", result.ProfileName);
// Calculation Result
@@ -493,17 +489,17 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.AreEqual(12, output.Results.CalculationResults.Length);
- var result = output.Results.CalculationResults[3];
+ DesignResult result = output.Results.CalculationResults[3];
Assert.AreEqual("6-4-3-A-1-C", result.LocationName);
Assert.AreEqual("6-4-3-A-1-C_2_s", result.ProfileName);
// Bishop
@@ -551,18 +547,18 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.IsNull(output.Results.CalculationResults);
-
+
Assert.AreEqual("Location 'DWP_13', subsoil scenario 'DWP_13.sti', design scenario '1': " +
"The preparation for this calculation failed.",
- output.Results.CalculationMessages[0].Message1);
+ output.Results.CalculationMessages[0].Message1);
}
[Test, Category("Slow")]
@@ -583,15 +579,15 @@
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, "SoilDatabaseName", @"TestFiles\SlopeAdaption0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.IsNotNull(output.Results.CalculationResults);
-
+
Assert.AreEqual(1.724, output.Results.CalculationResults.First().StabilityDesignResults.SafetyFactor, Tolerance);
}
@@ -610,10 +606,10 @@
[TestCase("TestStabInwardsUpliftVanDesignSequential", "UpliftVan", "SlopeAdaptionBeforeShoulderAdaption", CalculationResult.Succeeded, 1.4847, 39.243, 73.587, 50.285, 3.465, 7, "")]
[TestCase("TestStabInwardsUpliftVanDesignOptimized", "UpliftVan", "OptimizedSlopeAndShoulderAdaption", CalculationResult.RunFailed, 1.214, 39.514, 66.926, 36.150, 0.0, 4, "The new shoulder height with topslope exceeds the allowed maximum height.")]
public void CanPerformStabilityInwardsDesignTutorialDesignOptimizedSlopeAndShoulderAdaption_OneLocation(
- string calcDir, string stabilityModel, string designStrategy,
- CalculationResult calculationResult, double expectedSafetyFactor,
- double expectedZone1EntryPointX, double expectedZone1ExitPointX,
- double expectedDikeLength, double expectedShoulderHeight,
+ string calcDir, string stabilityModel, string designStrategy,
+ CalculationResult calculationResult, double expectedSafetyFactor,
+ double expectedZone1EntryPointX, double expectedZone1ExitPointX,
+ double expectedDikeLength, double expectedShoulderHeight,
int expectedNumberOfIterations, string expectedResultMessage)
{
const string fileName = @"TestFiles\MacroStabilityTutorialDesignInputFile1LocationWithAdaption.xml";
@@ -624,19 +620,19 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
inputString = XmlAdapter.ChangeValueInXml(inputString, "StabilityModelType", stabilityModel);
inputString = XmlAdapter.ChangeValueInXml(inputString, "StabilityDesignMethod", designStrategy);
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(null, output);
Assert.AreEqual(calculationResult, ConversionHelper.ConvertToCalculationResult(
- output.Results.CalculationResults[0].CalculationResult));
+ output.Results.CalculationResults[0].CalculationResult));
- var stabilityDesignResults = output.Results.CalculationResults[0].StabilityDesignResults;
+ DesignResultStabilityDesignResults stabilityDesignResults = output.Results.CalculationResults[0].StabilityDesignResults;
Assert.AreEqual(expectedSafetyFactor, stabilityDesignResults.SafetyFactor, Tolerance);
Assert.AreEqual(expectedNumberOfIterations, stabilityDesignResults.NumberOfIterations);
Assert.AreEqual(expectedResultMessage, stabilityDesignResults.ResultMessage);
@@ -672,13 +668,13 @@
string inputString = File.ReadAllText(fileName);
inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.AreEqual(null, output.Results.CalculationResults);
Assert.AreEqual(2, output.Results.CalculationMessages.Length);
Assert.AreEqual(MessageMessageType.Warning, output.Results.CalculationMessages[0].MessageType);
@@ -690,25 +686,25 @@
{
var analysisType = "AdaptGeometry";
// Test just to see if calculation works in this case as it should do.
- var outputString = GetOutputStringForProject(analysisType);
+ string outputString = GetOutputStringForProject(analysisType);
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.IsNull(output.Results.CalculationResults, "No results available");
// Note Bka: it already failed, but now for a different reason.Probably because DTH is not yet taken into account with testing/adjusting the data.
Assert.IsTrue(output.Results.CalculationMessages[0].Message1.Contains("Location 'DWP_1', subsoil scenario 'DWP_1.sti', design scenario '1': " +
- "The calculation failed with error message 'Value cannot be null."));
+ "The calculation failed with error message 'Value cannot be null."));
}
[Test]
public void TestNoDesignWithRiverLevelAboveDikeTopButBelowDthCanNotCalculate()
{
var analysisType = "NoAdaption";
// Test to see if calculation does NOT work in this case as it must fail with water level above dike top.
- var outputString = GetOutputStringForProject(analysisType);
+ string outputString = GetOutputStringForProject(analysisType);
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
Assert.IsNull(output.Results.CalculationResults, "Should have results available");
Assert.AreEqual(2, output.Results.CalculationMessages.Length, Tolerance);
}
@@ -729,7 +725,6 @@
Directory.CreateDirectory(calcDir);
-
const string fileName = @"TestFiles\DeltaDijkBishopInwards.xml";
string inputString = File.ReadAllText(fileName);
inputString = ChangeInputModel(inputString, InputStabilityModelType.Bishop);
@@ -738,13 +733,13 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
-
+
string outputString = engineInterface.Run();
-
+
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// one location is calculated with 3 1D profiles
Assert.AreEqual(3, output.Results.CalculationResults.Length);
@@ -755,7 +750,7 @@
Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[2].LocationName);
Assert.AreEqual("6-4-1-A-1-F_3_s", output.Results.CalculationResults[2].ProfileName);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
// SafetyFactor=1.682
Assert.AreEqual(1.682, result.StabilityDesignResults.SafetyFactor, Tolerance);
@@ -775,16 +770,16 @@
// Stix file
var fileList = new List
{
-#if DEBUG
+#if DEBUG
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_input.stix",
-#endif
+#endif
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_result.stix"
};
- foreach (var file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
+ foreach (string file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
{
Assert.IsTrue(File.Exists(file), file + " does not exist");
}
@@ -814,13 +809,13 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// one location is calculated with 3 1D profiles
// However, profile 6-4-1-A-1-F_3_s has no UpliftVan occuring and thus has no result
@@ -830,7 +825,7 @@
Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[1].LocationName);
Assert.AreEqual("6-4-1-A-1-F_2_s", output.Results.CalculationResults[1].ProfileName);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
// SafetyFactor=1.638 DSTAB 1.518 (1.079)
Assert.AreEqual(1.638, result.StabilityDesignResults.SafetyFactor, Tolerance);
@@ -844,22 +839,22 @@
// SafetyFactor=1.551 DSTAB 1.414. 1.097
Assert.AreEqual(1.551, result.StabilityDesignResults.SafetyFactor, Tolerance);
Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult));
-
+
var fileList = new List
{
-#if DEBUG
+#if DEBUG
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix",
-#endif
+#endif
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix"
};
- foreach (var file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
+ foreach (string file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
{
- Assert.IsTrue(File.Exists(file),file + " does not exist");
+ Assert.IsTrue(File.Exists(file), file + " does not exist");
}
}
-
+
[Test, Category("Slow")]
public void TestRunMacroStabilityDeltaDijkBishopUpliftVanWith1DWithUpliftProducesStixFiles()
{
@@ -884,13 +879,13 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
-
+
string outputString = engineInterface.Run();
-
+
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// one location is calculated with 3 1D profiles
Assert.AreEqual(3, output.Results.CalculationResults.Length);
@@ -901,7 +896,7 @@
Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[2].LocationName);
Assert.AreEqual("6-4-1-A-1-F_3_s", output.Results.CalculationResults[2].ProfileName);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
// SafetyFactor=1.638
Assert.AreEqual(1.638, result.StabilityDesignResults.SafetyFactor, Tolerance);
@@ -918,23 +913,23 @@
// Stix file
var fileList = new List
{
-#if DEBUG
+#if DEBUG
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix",
-#endif
+#endif
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix"
};
- foreach (var file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
+ foreach (string file in fileList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
{
Assert.IsTrue(File.Exists(file), file + " does not exist");
}
}
-
+
[Test, Category("Slow")]
public void TestRunMacroStabilityDeltaDijkBishopUpliftVanWith1DWithoutUpliftProducesStixFiles()
{
@@ -960,13 +955,13 @@
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb");
inputString = XmlAdapter.ChangeValueInXml(inputString, "UpliftCriterionStability", @"1.0");
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
-
+
string outputString = engineInterface.Run();
-
+
Assert.IsNotNull(outputString);
- var output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
+ Output output = DamXmlSerialization.LoadOutputFromXmlString(outputString);
// one location is calculated with 3 1D profiles
Assert.AreEqual(3, output.Results.CalculationResults.Length);
@@ -975,7 +970,7 @@
Assert.AreEqual("6-4-1-A-1-F", output.Results.CalculationResults[1].LocationName);
Assert.AreEqual("6-4-1-A-1-F_2_s", output.Results.CalculationResults[1].ProfileName);
- var result = output.Results.CalculationResults[0];
+ DesignResult result = output.Results.CalculationResults[0];
// SafetyFactor=1.682
Assert.AreEqual(1.682, result.StabilityDesignResults.SafetyFactor, Tolerance);
@@ -992,19 +987,20 @@
// Stix file
var existingFilesList = new List
{
-#if DEBUG
+#if DEBUG
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_input.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_input.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_input.stix",
-#endif
+#endif
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix",
"Stability\\Bishop\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_3_s)_result.stix"
};
- foreach (var file in existingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
+ foreach (string file in existingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
{
Assert.IsTrue(File.Exists(file), file + " does not exist");
}
+
var noneExistingFilesList = new List
{
#if DEBUG
@@ -1014,12 +1010,20 @@
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_1_s)_result.stix",
"Stability\\UpliftVan\\Loc(6-4-1-A-1-F)_Sce(1)_Pro(6-4-1-A-1-F_2_s)_result.stix"
};
- foreach (var file in noneExistingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
+ foreach (string file in noneExistingFilesList.Select(file => Path.Combine(Path.GetFullPath(calcDir), file)))
{
Assert.IsFalse(File.Exists(file), file + " does exist");
- }
- }
+ }
+ }
+ private void RemoveUsedDirectoryAfterTests(string directory)
+ {
+ if (Directory.Exists(directory))
+ {
+ Directory.Delete(directory, true);
+ }
+ }
+
private static string GetOutputStringForProject(string analysisType)
{
const string calcDir = "TestStabInwardsBishop";
@@ -1030,21 +1034,20 @@
Directory.CreateDirectory(calcDir);
-
const string fileName = @"TestFiles\DesignInputFileWithRiverLevelAboveDikeTopButBelowDTH.xml";
string inputString = File.ReadAllText(fileName);
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",
- @"TestFiles\DAM Tutorial Design.geometries2D.0\");
+ @"TestFiles\DAM Tutorial Design.geometries2D.0\");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SoilDatabaseName",
- @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
+ @"TestFiles\DAM Tutorial Design0.soilmaterials.mdb");
inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType",
- ConversionHelper.InputSegmentFailureMechanismStability.ToString());
+ ConversionHelper.InputSegmentFailureMechanismStability.ToString());
inputString = XmlAdapter.ChangeValueInXml(inputString, "AnalysisType", analysisType);
- EngineInterface engineInterface = new EngineInterface(inputString);
+ var engineInterface = new EngineInterface(inputString);
Assert.IsNotNull(engineInterface.DamProjectData);
string outputString = engineInterface.Run();
@@ -1053,7 +1056,7 @@
private string ChangeInputModel(string input, InputStabilityModelType modelType)
{
- string pattern = "StabilityModelType=\"[a-zA-Z]+\"";
+ var pattern = "StabilityModelType=\"[a-zA-Z]+\"";
string replacement = pattern;
switch (modelType)
{
@@ -1067,9 +1070,9 @@
replacement = "StabilityModelType=\"BishopUpliftVan\"";
break;
}
+
string result = Regex.Replace(input, pattern, replacement);
return result;
}
}
-
-}
+}
\ No newline at end of file