Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapper.cs (.../WtiPipingSellmeijerRevisedKernelWrapper.cs) (revision 2193) @@ -33,6 +33,7 @@ using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.WTIPiping; @@ -68,7 +69,7 @@ FoSh = defaultMaxReturnValue }; kernelDataOutput = damPipingOutput; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Piping) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All)) { var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D; var location = damKernelInput.Location; Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs =================================================================== diff -u -r2172 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 2172) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 2193) @@ -1,4 +1,25 @@ -using System.IO; +// Copyright (C) Stichting Deltares 2019. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.IO; using System.Text; using System.Threading; using Deltares.DamEngine.Data.General; @@ -18,19 +39,25 @@ { private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test] - public void CanPerformWtiDesignNoAdaptionPipingVoorbeeld1() + [TestCase(ConversionHelper.InputSegmentFailureMechanismPiping)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void CanPerformWtiDesignNoAdaptionPipingVoorbeeld1(int segmentFailureMechanismType) { // Based on ".\data\DamEngineTestProjects\PipingVoorbeeld1\PipingVoorbeeld1.damx" // Set Analysis type to "No Adaption" // Change Failure mechanism Piping to model Sellmeijer Revised (WBI) const string fileName = @"TestFiles\PipingVoorbeeld1_WtiSellmeijerRevisedInputFile.xml"; string inputString = File.ReadAllText(fileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString()); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.IsNotNull(output.Results.CalculationResults, "No results available"); DamProjectData actualDamProjectData = FillDamFromXmlOutput.CreateDamProjectData(null, output); SurfaceLine2 redesignedSurfaceLine = actualDamProjectData.DesignCalculations[0].PipingDesignResults.RedesignedSurfaceLine; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 2193) @@ -80,8 +80,10 @@ { for (int subSoilScenarioIndex = 0; subSoilScenarioIndex < location.Segment.SoilProfileProbabilities.Count; subSoilScenarioIndex++) { - if (location.Segment.SoilProfileProbabilities[subSoilScenarioIndex].SegmentFailureMechanismType == - ConversionHelper.ConvertToSegmentFailureMechanismType(damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType)) + // Check if the subSoilScenario is applicable for the failuremechanism that is being calculated + if (location.Segment.SoilProfileProbabilities[subSoilScenarioIndex].SegmentFailureMechanismType.Value.In( + ConversionHelper.ConvertToSegmentFailureMechanismType(damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType), + SegmentFailureMechanismType.All)) { var soiProfileProbability = location.Segment.SoilProfileProbabilities[subSoilScenarioIndex]; for (int designScenarioIndex = 0; designScenarioIndex < location.Scenarios.Count; designScenarioIndex++) Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijerVnk/DamPipingSellmeijerVnkKernelWrapper.cs (.../DamPipingSellmeijerVnkKernelWrapper.cs) (revision 2193) @@ -35,6 +35,7 @@ using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General.PlLines; using Deltares.DamEngine.Data.Geometry; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; namespace Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijerVnk @@ -61,7 +62,7 @@ FoSp = defaultMaxReturnValue }; kernelDataOutput = damPipingOutput; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Piping) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All)) { var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D; var location = damKernelInput.Location; Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs =================================================================== diff -u -r2177 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 2177) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 2193) @@ -26,6 +26,7 @@ using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; +using Deltares.DamEngine.TestHelpers; using NUnit.Framework; using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper; @@ -36,14 +37,19 @@ { private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test] - public void CanPerformBlighDesignNoAdaptionPipingVoorbeeld1() + [TestCase(ConversionHelper.InputSegmentFailureMechanismPiping)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void CanPerformBlighDesignNoAdaptionPipingVoorbeeld1(int segmentFailureMechanismType) { // Based on ".\data\DamEngineTestProjects\PipingVoorbeeld1\PipingVoorbeeld1.damx" // Select Failure mechanism Piping and model Bligh // Set Analysis type to "No Adaption" const string fileName = @"TestFiles\PipingVoorbeeld1_BlighInputFile.xml"; string inputString = File.ReadAllText(fileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString()); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); string outputString = engineInterface.Run(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityInwards/MacroStabilityInwardsKernelWrapper.cs (.../MacroStabilityInwardsKernelWrapper.cs) (revision 2193) @@ -34,6 +34,7 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.WTIStability.Calculation.Wrapper; using ConversionHelper = Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo.ConversionHelper; @@ -79,7 +80,7 @@ CalculationResult = CalculationResult.NoRun }; kernelDataOutput = macroStabilityOutput; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Stability) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Stability, SegmentFailureMechanismType.Stability)) { try { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingBligh/DamPipingBlighKernelWrapper.cs (.../DamPipingBlighKernelWrapper.cs) (revision 2193) @@ -33,6 +33,7 @@ using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamPiping.BlighCalculator; @@ -66,7 +67,7 @@ FoSp = defaultMaxReturnValue }; kernelDataOutput = damPipingBlighOutput; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Piping) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All)) { var damPipingBlighInput = new DamPipingBlighInput(); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 2193) @@ -36,6 +36,7 @@ using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamMacroStability.Calculator; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard; namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityInwards { @@ -79,7 +80,7 @@ // Make sure no riverlevellow is defined, because this will trigger Outside stability code elsewhere damKernelInput.RiverLevelLow = null; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Stability) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Stability, SegmentFailureMechanismType.All)) { var bishopUpliftVan = FailureMechanismParametersMStab.MStabParameters.Model == MStabModelType.BishopUpliftVan; Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs =================================================================== diff -u -r2172 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 2172) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 2193) @@ -40,8 +40,12 @@ { private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test, Category("Slow")] - public void TestRunMacroStabilityTutorialDesignBishop() + [TestCase(ConversionHelper.InputSegmentFailureMechanismStability)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void TestRunMacroStabilityTutorialDesignBishop(int segmentFailureMechanismType) { // Based on ".data\DamEngineTestProjects\DAM Tutorial Design\DAM Tutorial Design.damx" // with Dam Classic rev.1059 @@ -65,13 +69,15 @@ 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); Assert.IsNotNull(engineInterface.DamProjectData); string outputString = engineInterface.Run(); Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.IsNotNull(output.Results.CalculationResults, "No results available"); Assert.AreEqual(1.282, output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, tolerance); // Zone1SafetyFactor=1.282 Assert.AreEqual(1.282, output.Results.CalculationResults[0].StabilityDesignResults.Zone1SafetyFactor, tolerance); Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityOutwardsTests.cs =================================================================== diff -u -r2172 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityOutwardsTests.cs (.../MacroStabilityOutwardsTests.cs) (revision 2172) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityOutwardsTests.cs (.../MacroStabilityOutwardsTests.cs) (revision 2193) @@ -37,8 +37,12 @@ private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test] - public void TestRunMacroStabilityTutorialDesignBishop() + [TestCase(ConversionHelper.InputSegmentFailureMechanismStability)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void TestRunMacroStabilityTutorialDesignBishop(int segmentFailureMechanismType) { // Based on ".data\DamEngineTestProjects\DAM Tutorial Design\DAM Tutorial Design.damx" // Set Analysis type to "No adaption" @@ -61,6 +65,8 @@ 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()); + File.WriteAllText(fileName + ".txt", inputString); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); engineInterface.DamProjectData.DamProjectCalculationSpecification.CurrentSpecification.StabilityModelType = MStabModelType.Bishop; @@ -70,6 +76,7 @@ Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.IsNotNull(output.Results.CalculationResults, "No results available"); Assert.AreEqual(0.698, output.Results.CalculationResults[0].StabilityDesignResults.SafetyFactor, tolerance); // Zone1SafetyFactor=1.282 Assert.AreEqual(0.698, output.Results.CalculationResults[0].StabilityDesignResults.Zone1SafetyFactor, tolerance); Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijer4ForcesTests.cs =================================================================== diff -u -r2111 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijer4ForcesTests.cs (.../PipingSellmeijer4ForcesTests.cs) (revision 2111) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijer4ForcesTests.cs (.../PipingSellmeijer4ForcesTests.cs) (revision 2193) @@ -24,7 +24,9 @@ using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; +using Deltares.DamEngine.TestHelpers; using NUnit.Framework; +using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper; namespace Deltares.DamEngine.IntegrationTests.IntegrationTests { @@ -33,14 +35,19 @@ { private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test] - public void CanPerformSellmeijer4ForcesDesignPipingVoorbeeld1() + [TestCase(ConversionHelper.InputSegmentFailureMechanismPiping)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void CanPerformSellmeijer4ForcesDesignPipingVoorbeeld1(int segmentFailureMechanismType) { // Based on ".\data\DamEngineTestProjects\PipingVoorbeeld1\PipingVoorbeeld1.damx" // Select Failure mechanism Piping and model Sellmeijer 4-forces // Set Analysis type to "No Adaption" const string fileName = @"TestFiles\PipingVoorbeeld1_Sellmeijer4ForcesInputFile.xml"; string inputString = File.ReadAllText(fileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString()); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); string outputString = engineInterface.Run(); @@ -63,6 +70,7 @@ // Heave Factor = 90.0 Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.IsNotNull(output.Results.CalculationResults, "No results available"); Assert.AreEqual(0.506, output.Results.CalculationResults[0].PipingDesignResults.Sellmeijer4ForcesFactor, tolerance); Assert.AreEqual(1.619, output.Results.CalculationResults[0].PipingDesignResults.Sellmeijer4ForcesHcritical, tolerance); Assert.AreEqual(35.0, output.Results.CalculationResults[0].PipingDesignResults.ExitPointX, tolerance); Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/XmlAdapter.cs =================================================================== diff -u -r2191 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/XmlAdapter.cs (.../XmlAdapter.cs) (revision 2191) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/XmlAdapter.cs (.../XmlAdapter.cs) (revision 2193) @@ -39,7 +39,6 @@ public static string ChangeValueInXml(string input, string key, string value) { string result = input; - // string searchString = key + "=\"" + "[\x23-\x7e]+" + "\""; // This means match any pattern which matches ="" string searchString = key + "=" + "\"([^\"]*)\""; // This means match any pattern which matches ="" string replacement = key + "=\"" + value + "\""; // Replace with ="" result = Regex.Replace(input, searchString, replacement, RegexOptions.IgnorePatternWhitespace); Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijerVnkTests.cs =================================================================== diff -u -r2172 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 2172) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 2193) @@ -25,6 +25,7 @@ using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Interface; using Deltares.DamEngine.Io; +using Deltares.DamEngine.TestHelpers; using NUnit.Framework; using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper; @@ -35,14 +36,19 @@ { private const double tolerance = 0.0005; + /// Test for different segmentFailureMechanismType + /// The soilprobabilities are set tot the specified segmentFailureMechanismType [Test] - public void CanPerformSellmeijerVnkDesignPipingVoorbeeld1() + [TestCase(ConversionHelper.InputSegmentFailureMechanismPiping)] + [TestCase(ConversionHelper.InputSegmentFailureMechanismAll)] + public void CanPerformSellmeijerVnkDesignPipingVoorbeeld1(int segmentFailureMechanismType) { // Based on ".\data\DamEngineTestProjects\PipingVoorbeeld1\PipingVoorbeeld1.damx" // Select Failure mechanism Piping and model Sellmeijer (VNK) // Set Analysis type to "No Adaption" const string fileName = @"TestFiles\PipingVoorbeeld1_SellmeijerVNKInputFile.xml"; string inputString = File.ReadAllText(fileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "SegmentFailureMechanismType", segmentFailureMechanismType.ToString()); EngineInterface engineInterface = new EngineInterface(inputString); Assert.IsNotNull(engineInterface.DamProjectData); string outputString = engineInterface.Run(); @@ -65,6 +71,7 @@ // Heave Factor = 90.0 Assert.IsNotNull(outputString); var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.IsNotNull(output.Results.CalculationResults, "No results available"); Assert.AreEqual(0.463, output.Results.CalculationResults[0].PipingDesignResults.SellmeijerVnkFactor, tolerance); Assert.AreEqual(1.759, output.Results.CalculationResults[0].PipingDesignResults.SellmeijerVnkHcritical, tolerance); Assert.AreEqual(35.0, output.Results.CalculationResults[0].PipingDesignResults.ExitPointX, tolerance); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityOutwards/DamMacroStabilityOutwardsKernelWrapper.cs (.../DamMacroStabilityOutwardsKernelWrapper.cs) (revision 2193) @@ -36,6 +36,7 @@ using Deltares.DamEngine.Calculators.DikesDesign; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.Geometry; +using Deltares.DamEngine.Data.Standard; namespace Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityOutwards { @@ -83,7 +84,7 @@ // Note: as segments and thus SubSoilScenario are generally divided into Piping versus Stability, // the actual SegmentFailureMechanismType would be set to StabilityInside rather than StabilityOutside // So check for both types. - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Stability) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Stability, SegmentFailureMechanismType.All)) { // Make sure the gridposition is Left. FailureMechanismParametersMStab.MStabParameters.GridPosition = MStabGridPosition.Left; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs =================================================================== diff -u -r2173 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 2173) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamPipingSellmeijer4Forces/DamPipingSellmeijer4ForcesKernelWrapper.cs (.../DamPipingSellmeijer4ForcesKernelWrapper.cs) (revision 2193) @@ -33,6 +33,7 @@ using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamPiping.Sellmeijer4ForcesCalculator; @@ -63,7 +64,7 @@ FoSp = defaultMaxReturnValue }; kernelDataOutput = damPipingOutput; - if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == SegmentFailureMechanismType.Piping) + if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType.Value.In(SegmentFailureMechanismType.Piping, SegmentFailureMechanismType.All)) { var soilProfile1D = damKernelInput.SubSoilScenario.SoilProfile1D; var location = damKernelInput.Location; Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Deltares.DamEngine.Data.Tests.csproj =================================================================== diff -u -r2171 -r2193 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Deltares.DamEngine.Data.Tests.csproj (.../Deltares.DamEngine.Data.Tests.csproj) (revision 2171) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Deltares.DamEngine.Data.Tests.csproj (.../Deltares.DamEngine.Data.Tests.csproj) (revision 2193) @@ -59,6 +59,7 @@ +