Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs =================================================================== diff -u -r1102 -r1105 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1102) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/MacroStabilityTests.cs (.../MacroStabilityTests.cs) (revision 1105) @@ -501,6 +501,52 @@ Assert.AreEqual(1.591, result.StabilityDesignResults.SafetyFactor, tolerance); } + [Test] + public void TestRunMacroStabilityDeltaDijkForbiddenZoneBishop() + { + // Expected results are determined by running dam\dam clients\DamUI\trunk\data\DamEngineTestProjects\DeltaDijk_zonering_BI + // with Dam Classic rev.1059 + // Two locations with same profile + // But first location with Zone Areas and second location with Forbidden Zone + const string calcDir = "TestOutStabForbiddenZoneBishop"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + + Directory.CreateDirectory(calcDir); + + const string fileName = @"TestFiles\Invoer10.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\ZoneType.geometries2D.0\"); + inputString = ChangeValueInXml(inputString, "SoilDatabaseName", @"TestFiles\ZoneType0.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); + + var result = output.Results.CalculationResults.DesignResults[0]; + // SafetyFactor=1.972 (Zone Areas) + Assert.AreEqual(1.972, result.StabilityDesignResults.SafetyFactor, tolerance); + Assert.AreEqual("DWP_10_2", result.LocationName); + Assert.AreEqual("DWP_10.sti", result.ProfileName); + Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult)); + + result = output.Results.CalculationResults.DesignResults[1]; + // SafetyFactor=2.034 (Forbidden Zone) + Assert.AreEqual(2.034, result.StabilityDesignResults.SafetyFactor, tolerance); + Assert.AreEqual("DWP_10_6", result.LocationName); + Assert.AreEqual("DWP_10.sti", result.ProfileName); + Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(result.CalculationResult)); + } + [Test, Category("Work_In_Progress")] public void TestRunMacroStabilityWithError() {