Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs =================================================================== diff -u -r1060 -r1063 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1060) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1063) @@ -373,6 +373,63 @@ } [Test] + public void TestRunMacroStabilityDeltaDijkZoneAreasBishopWith1DZone2() + { + // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DeltaDijk_zonering_BI + // with Dam Classic rev.1059 + // In this test the location is calculated with 2 profiles. + // For one case safety factor of zone 1 is lower than for zone 2 + // For the other one safety factor of zone 1 is higher than for zone 2 + const string calcDir = "TestOutStabZone2Bishop"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + + Directory.CreateDirectory(calcDir); + + + const string fileName = @"TestFiles\DeltaDijkZoneringInwardsZone2.xml"; + string inputString = File.ReadAllText(fileName); + inputString = ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used + inputString = ChangeValueInXml(inputString, "MapForSoilgeometries2D", @"TestFiles\DeltaDijk normal.geometries2D.0\"); + inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\DeltaDijk normal0.soilmaterials.mdb"); + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + + string outputString = engineInterface.Run(); + + Assert.IsNotNull(outputString); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + + Assert.AreEqual(2, output.Results.CalculationResults.DesignResults.Length); + Assert.AreEqual("6-4-5-A-1-B", output.Results.CalculationResults.DesignResults[0].LocationName); + Assert.AreEqual("6-4-5-A-1-B_1_s", output.Results.CalculationResults.DesignResults[0].ProfileName); + Assert.AreEqual("6-4-5-A-1-B", output.Results.CalculationResults.DesignResults[1].LocationName); + Assert.AreEqual("6-4-5-A-1-B_2_s", output.Results.CalculationResults.DesignResults[1].ProfileName); + + var result = output.Results.CalculationResults.DesignResults[0]; + // Zone1SafetyFactor=2.138 + Assert.AreEqual(2.138, result.StabilityDesignResults.Zone1SafetyFactor, tolerance); + // Zone2SafetyFactor=2.155 + Assert.AreEqual(2.155, result.StabilityDesignResults.Zone2SafetyFactor, tolerance); + // SafetyFactor=2.138 (lowest of zone 1 and 2) + Assert.AreEqual(2.138, result.StabilityDesignResults.SafetyFactor, tolerance); + + result = output.Results.CalculationResults.DesignResults[1]; + // Zone1SafetyFactor=2.009 + Assert.AreEqual(2.009, result.StabilityDesignResults.Zone1SafetyFactor, tolerance); + // Zone2SafetyFactor=1.974 + Assert.AreEqual(1.974, result.StabilityDesignResults.Zone2SafetyFactor, tolerance); + // SafetyFactor=1.974 (lowest of zone 1 and 2) + Assert.AreEqual(1.974, result.StabilityDesignResults.SafetyFactor, tolerance); + + // Calculation Result + Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult)); + } + + [Test] public void TestRunMacroStabilityDeltaDijkZoneAreasUpliftVanWith1D() { // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DeltaDijk_zonering_BI