Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs =================================================================== diff -u -r5440 -r5448 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 5440) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 5448) @@ -486,6 +486,48 @@ Assert.That(output.Results.CalculationResults.First().StabilityDesignResults.SafetyFactor, Is.EqualTo(1.366).Within(tolerance)); } + [TestCase("SlopeAdaptionBeforeShoulderAdaption", 1.0, 1.309, 1)] + [TestCase("SlopeAdaptionBeforeShoulderAdaption", 1.4, 1.513, 1)] + [TestCase("OptimizedSlopeAndShoulderAdaption", 1.0, 1.309, 1)] + [TestCase("OptimizedSlopeAndShoulderAdaption", 1.4, 1.513, 1)] + [Ignore("Work in progress")] + public void GivenTutorialDesignDwp1_WhenRunSlopeAdaptionBeforeShoulderAdaptionTheSucceeds(string designMethod, + double requiredSafetyFactor, double actualSafetyFactor, int iterationCount) + { + // Create xml with Tutorial project + // Select location DWP_1 + // Calculation options: Stability Inside - Bishop + string calcDir = "TestStabInwardsBishop_AdaptGeometry_" + designMethod + requiredSafetyFactor.ToString(CultureInfo.InvariantCulture); + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + + // calcDir = Path.GetFullPath(calcDir); + // Directory.CreateDirectory(calcDir); + string inputString = File.ReadAllText(tutorialStability2D); + string[] locations = ["DWP_1"]; + inputString = XmlAdapter.SelectLocations(inputString, locations); + inputString = XmlAdapter.ChangeValueInXml(inputString, "FailureMechanismSystemType", ConversionHelper.ConvertToInputFailureMechanismSystemType( + FailureMechanismSystemType.StabilityInside).ToString()); + 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, "SegmentFailureMechanismType", + ConversionHelper.InputSegmentFailureMechanismStability.ToString()); + inputString = XmlAdapter.ChangeValueInXml(inputString, "AnalysisType", "AdaptGeometry"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "StabilityDesignMethod", "SlopeAdaptionBeforeShoulderAdaption"); + inputString = XmlAdapter.ChangeValueInXml(inputString, "RequiredSafetyFactorStabilityInnerSlope", + requiredSafetyFactor.ToString(CultureInfo.InvariantCulture)); + File.WriteAllText(@"D:\tmp\TestStabInwardsBishop_SlopeAdaptionBeforeShoulderAdaption.xml", inputString); + Output output = GeneralHelper.RunAfterInputValidation(inputString, true); + Assert.Multiple(() => + { + Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Is.GreaterThanOrEqualTo(requiredSafetyFactor)); + Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, Is.GreaterThanOrEqualTo(requiredSafetyFactor)); + Assert.That(output.Results.CalculationResults[0].StabilityDesignResults.NumberOfIterations, Is.EqualTo(iterationCount)); + }); + } + [Test] [Category(Categories.Slow)] [Category(Categories.WorkInProgress)] Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs =================================================================== diff -u -r5372 -r5448 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 5372) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 5448) @@ -678,9 +678,9 @@ /// /// Converts the Dam failure mechanism type to the input failure mechanism type . /// - /// Type of the segment failure mechanism. + /// Type of the system failure mechanism. /// - public static int ConvertToInputFailureMechanismSystemType(FailureMechanismSystemType segmentFailureMechanismType) + public static int ConvertToInputFailureMechanismSystemType(FailureMechanismSystemType failureMechanismSystemType) { var translationTable = new Dictionary { @@ -694,7 +694,7 @@ FailureMechanismSystemType.Piping, InputFailureMechanismPiping } }; - return translationTable[segmentFailureMechanismType]; + return translationTable[failureMechanismSystemType]; } ///