Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/ConversionHelperTests.cs =================================================================== diff -u -r2919 -r2920 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 2919) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 2920) @@ -66,20 +66,35 @@ #region ModelType [Test] + [TestCase(StabilityModelOption.Bishop, MStabModelType.BishopWti)] + [TestCase(StabilityModelOption.UpliftVan, MStabModelType.UpliftVanWti)] + public void CanConvertToMStabModelType(StabilityModelOption modelOption, MStabModelType mStabModelType) + { + Assert.AreEqual(mStabModelType, ConversionHelper.ConvertToMStabModelType(modelOption)); + } + + [Test] [TestCase(MacroStability.CSharpWrapper.Output.StabilityModelOption.Bishop, MStabModelType.BishopWti)] [TestCase(MacroStability.CSharpWrapper.Output.StabilityModelOption.UpliftVan, MStabModelType.UpliftVanWti)] - public void CanConvertToMStabModelType(MacroStability.CSharpWrapper.Output.StabilityModelOption modelOption, MStabModelType mStabModelType) + public void CanConvertToMStabModelTypeFromOutput(MacroStability.CSharpWrapper.Output.StabilityModelOption modelOption, MStabModelType mStabModelType) { - Assert.AreEqual(mStabModelType, ConversionHelper.ConvertToMStabModelType(modelOption)); + Assert.AreEqual(mStabModelType, ConversionHelper.ConvertToMStabModelTypeFromOutput(modelOption)); } [Test] - [TestCase(MStabModelType.UpliftVanWti, MacroStability.CSharpWrapper.Output.StabilityModelOption.UpliftVan)] - public void CanConvertToModelOptions(MStabModelType mStabModelType, MacroStability.CSharpWrapper.Output.StabilityModelOption modelOption) + [TestCase(MStabModelType.UpliftVanWti, StabilityModelOption.UpliftVan)] + public void CanConvertToModelOptions(MStabModelType mStabModelType, StabilityModelOption modelOption) { Assert.AreEqual(modelOption, ConversionHelper.ConvertToModelOptions(mStabModelType)); } + [Test] + [TestCase(MStabModelType.UpliftVanWti, MacroStability.CSharpWrapper.Output.StabilityModelOption.UpliftVan)] + public void CanConvertToModelOptionsOutput(MStabModelType mStabModelType, MacroStability.CSharpWrapper.Output.StabilityModelOption modelOption) + { + Assert.AreEqual(modelOption, ConversionHelper.ConvertToModelOptionsOutput(mStabModelType)); + } + [ExpectedException(typeof(ArgumentException))] [TestCase(MStabModelType.Bishop)] [TestCase(MStabModelType.UpliftVan)] @@ -98,6 +113,23 @@ ConversionHelper.ConvertToModelOptions(mStabModelType); } + [ExpectedException(typeof(ArgumentException))] + [TestCase(MStabModelType.Bishop)] + [TestCase(MStabModelType.UpliftVan)] + [TestCase(MStabModelType.UpliftSpencer)] + [TestCase(MStabModelType.SpencerLow)] + [TestCase(MStabModelType.SpencerHigh)] + [TestCase(MStabModelType.BishopUpliftVan)] + [TestCase(MStabModelType.BishopRandomField)] + [TestCase(MStabModelType.Fellenius)] + [TestCase(MStabModelType.BishopWti)] + [TestCase(MStabModelType.HorizontalBalance)] + [TestCase(MStabModelType.Spencer)] + [TestCase(MStabModelType.UpliftSpencerWti)] + public void CanConvertToModelOptionsOutputHandleException(MStabModelType mStabModelType) + { + ConversionHelper.ConvertToModelOptionsOutput(mStabModelType); + } #endregion #region GridOrientation Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperInput.cs =================================================================== diff -u -r2918 -r2920 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperInput.cs (.../FillEngineFromMacroStabilityWrapperInput.cs) (revision 2918) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperInput.cs (.../FillEngineFromMacroStabilityWrapperInput.cs) (revision 2920) @@ -201,15 +201,21 @@ private void TransferStabilityModel(Deltares.MacroStability.CSharpWrapper.Input.StabilityInput kernelModelStabilityModel) { - // FailureMechanismParametersMStab = new FailureMechanismParametersMStab(); - // // kernelModelStabilityModel.MoveGrid is not in DamEngine datamodel - // // kernelModelStabilityModel.MaximumSliceWidth is not in DamEngine datamodel - // FailureMechanismParametersMStab.MStabParameters.SearchMethod = - // ConversionHelper.ConvertToDamSearchMethod(kernelModelStabilityModel. .SearchAlgorithm); - // FailureMechanismParametersMStab.MStabParameters.Model = - // ConversionHelper.ConvertToMStabModelType(kernelModelStabilityModel.ModelOption); - // FailureMechanismParametersMStab.MStabParameters.GridPosition = - // ConversionHelper.ConvertToMStabGridPosition(kernelModelStabilityModel.GridOrientation); + FailureMechanismParametersMStab = new FailureMechanismParametersMStab(); + FailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition.GridSizeDetermination = + GridSizeDetermination.Specified; + if (kernelModelStabilityModel.MoveGrid) + { + FailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition.GridSizeDetermination = + GridSizeDetermination.Automatic; + } + //kernelModelStabilityModel.MaximumSliceWidth is not in DamEngine datamodel + FailureMechanismParametersMStab.MStabParameters.SearchMethod = + ConversionHelper.ConvertToDamSearchMethod(kernelModelStabilityModel.SearchAlgorithm); + FailureMechanismParametersMStab.MStabParameters.Model = + ConversionHelper.ConvertToMStabModelType(kernelModelStabilityModel.ModelOption); + FailureMechanismParametersMStab.MStabParameters.GridPosition = + ConversionHelper.ConvertToMStabGridPosition(kernelModelStabilityModel.Orientation); } private void TransferSoilProfile2D(MacroStability.CSharpWrapper.Input.SoilProfile kernelSoilProfile2D) Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs =================================================================== diff -u -r2918 -r2920 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 2918) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 2920) @@ -34,7 +34,8 @@ using MessageTpe = Deltares.MacroStability.CSharpWrapper.Output.MessageType; using ShearStrengthModel = Deltares.DamEngine.Data.Geotechnics.ShearStrengthModel; using Soil = Deltares.MacroStability.CSharpWrapper.Input.Soil; -using StabilityModelOption = Deltares.MacroStability.CSharpWrapper.Output.StabilityModelOption; +using StabilityModelOptionInput = Deltares.MacroStability.CSharpWrapper.Input.StabilityModelOption; +using StabilityModelOptionOutput = Deltares.MacroStability.CSharpWrapper.Output.StabilityModelOption; using WaterPressureInterpolationModelKernel = Deltares.MacroStability.CSharpWrapper.Input.WaterPressureInterpolationModel; using ShearStrengthModelKernel = Deltares.MacroStability.CSharpWrapper.Input.ShearStrengthModel; @@ -82,13 +83,13 @@ /// This comes back from the kernel side so any model that can be matched is OK. /// The model option. /// the Dam MStabModelType - public static MStabModelType ConvertToMStabModelType(StabilityModelOption modelOption) + public static MStabModelType ConvertToMStabModelType(StabilityModelOptionInput modelOption) { // For the macrostability kernel, the only really supported option for now is UpliftVan. But the other two could be options in future version - var translationTable = new Dictionary() + var translationTable = new Dictionary() { - {StabilityModelOption.Bishop, MStabModelType.BishopWti}, - {StabilityModelOption.UpliftVan, MStabModelType.UpliftVanWti }, + {StabilityModelOptionInput.Bishop, MStabModelType.BishopWti}, + {StabilityModelOptionInput.UpliftVan, MStabModelType.UpliftVanWti }, //{MacroStability.CSharpWrapper.Output.StabilityModelOption.Spencer, MStabModelType.UpliftSpencerWti} }; return translationTable[modelOption]; @@ -98,19 +99,53 @@ /// the MStabModelType. /// the MacroStability ModelOption /// - public static StabilityModelOption ConvertToModelOptions(MStabModelType mStabModelType) + public static StabilityModelOptionInput ConvertToModelOptions(MStabModelType mStabModelType) { // For the macrostability kernel, the only supported option for now is UpliftVan. if (mStabModelType != MStabModelType.UpliftVanWti) { throw new ArgumentException(String.Format("Unsupported MStabModelType: {0}", mStabModelType)); } - var translationTable = new Dictionary() + var translationTable = new Dictionary() { - {MStabModelType.UpliftVanWti, StabilityModelOption.UpliftVan} + {MStabModelType.UpliftVanWti, StabilityModelOptionInput.UpliftVan} }; return translationTable[mStabModelType]; } + + /// Converts ModelOption to the MStabModelType. + /// This comes back from the kernel side so any model that can be matched is OK. + /// The model option. + /// the Dam MStabModelType + public static MStabModelType ConvertToMStabModelTypeFromOutput(StabilityModelOptionOutput modelOption) + { + // For the macrostability kernel, the only really supported option for now is UpliftVan. But the other two could be options in future version + var translationTable = new Dictionary() + { + {StabilityModelOptionOutput.Bishop, MStabModelType.BishopWti}, + {StabilityModelOptionOutput.UpliftVan, MStabModelType.UpliftVanWti }, + //{MacroStability.CSharpWrapper.Output.StabilityModelOption.Spencer, MStabModelType.UpliftSpencerWti} + }; + return translationTable[modelOption]; + } + + /// Converts to ModelOptions type. + /// the MStabModelType. + /// the MacroStability ModelOption + /// + public static StabilityModelOptionOutput ConvertToModelOptionsOutput(MStabModelType mStabModelType) + { + // For the macrostability kernel, the only supported option for now is UpliftVan. + if (mStabModelType != MStabModelType.UpliftVanWti) + { + throw new ArgumentException(String.Format("Unsupported MStabModelType: {0}", mStabModelType)); + } + var translationTable = new Dictionary() + { + {MStabModelType.UpliftVanWti, StabilityModelOptionOutput.UpliftVan} + }; + return translationTable[mStabModelType]; + } #endregion #region GridOrientation Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs =================================================================== diff -u -r2918 -r2920 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 2918) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 2920) @@ -22,32 +22,26 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon; using NUnit.Framework; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.TestHelpers; using Deltares.DamEngine.TestHelpers.Factories; -using Deltares.MacroStability.Data; -using Deltares.MacroStability.Standard; -using Deltares.SoilStress.Data; using KellermanSoftware.CompareNetObjects; -using CharacteristicPointSet = Deltares.MacroStability.Geometry.CharacteristicPointSet; +using CharacteristicPointSet = Deltares.MacroStability.CSharpWrapper.Input.CharacteristicPoint; using CharacteristicPointType = Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType; using HeadLine = Deltares.DamEngine.Data.Geometry.HeadLine; -using Soil = Deltares.MacroStability.Geometry.Soil; using SoilProfile2D = Deltares.DamEngine.Data.Geotechnics.SoilProfile2D; using SurfaceLine2 = Deltares.DamEngine.Data.Geotechnics.SurfaceLine2; -using Waternet = Deltares.MacroStability.Geometry.Waternet; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon { [TestFixture] public class MacroStabilityIoTests { - private const string WtiFilesMap = @"KernelWrappers\MacroStabilityCommon\TestFiles"; - private static readonly List SoilParametersToIgnore = new List() { "StrengthIncreaseExponent", @@ -59,8 +53,15 @@ [Test] [Category(Categories.WorkInProgress)] // The actual code has to be implemented - public void GivenDamEngineDataModelWhenSerializingAndDeserializingTheDataModelsAreEqual() + public void GivenCSharpWrapperOutputWhenGoingToAndFromEngineTheDataIsEqual() { + //ToDo fill this + } + + [Test] + [Category(Categories.WorkInProgress)] // The actual code has to be implemented + public void GivenDamEngineDataModelWhenGoingToAndFromCSharpWrapperForInputTheDataIsEqual() + { // Given DamEngine data (DamProjectData) DamProjectData expectedDamProjectData = CreateExampleDamProjectData(); Data.Geometry.Waternet expectedWaternet = CreateExampleWaternet(); @@ -78,39 +79,28 @@ XEnd = expectedSurfaceLine2D.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.TrafficLoadOutside).X, }; - var fillWtiKernelData = new FillMacroStabilityWrapperInputFromEngine() + var fillMacroStabilityWrapperInputFromEngine = new FillMacroStabilityWrapperInputFromEngine() { UpliftVanCalculationGrid = expectedUpliftVanCalculationGrid, TrafficLoad = expectedTrafficLoad }; - //var expectedKernelModel = fillWtiKernelData.CreateMacroStabilityInput(); - - //ToDo replace serialization with C#wrapper conversions as provided by methods in FillEngineFromMacroStabilityWrapperInput, FillEngineFromMacroStabilityWrapperOutput, FillMacroStabilityWrapperInputFromEngine, FillMacroStabilityWrapperOutputFromEngine - // When Serializing and Deserializing - // string xmlWti = WtiSerializer.Serialize(expectedKernelModel); - const string fileName = "TestInput.wti"; - string fullFileName = Path.Combine(WtiFilesMap, fileName); -// File.WriteAllText(fullFileName, xmlWti); - // KernelModel actualKernelModel = WtiDeserializer.Deserialize(xmlWti); - var fillDamEngineFromWti = new FillEngineFromMacroStabilityWrapperInput(); - //fillDamEngineFromWti.FillDamProjectDataFromKernelModel(actualKernelModel); - + var damKernelInput = new DamKernelInput + { + SubSoilScenario = expectedLocation.Segment.SoilProfileProbabilities[0], + Location = expectedLocation, + DamFailureMechanismeCalculationSpecification = expectedDamProjectData.DamProjectCalculationSpecification.CurrentSpecification + }; + // get the input for the CSharp wrapper + var expectedMacrostabilityInput = + fillMacroStabilityWrapperInputFromEngine.CreateMacroStabilityInput(damKernelInput, expectedParametersMStab, expectedWaternet); + // reverse that input to the engine data + var fillEngineFromMacroStabilityWrapperInput = new FillEngineFromMacroStabilityWrapperInput(); + fillEngineFromMacroStabilityWrapperInput.FillDamProjectDataFromKernelModel(expectedMacrostabilityInput); + // Then the data models are equal - var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; - // ComparisonResult result; - return; - // TODO fix following comparisons. Can be done if all code is implemented - // result = compare.Compare(expectedSurfaceLine2D, fillDamEngineFromWti.SurfaceLine2); - // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SurfaceLine2"); - // result = compare.Compare(expectedSoilProfile2D, fillDamEngineFromWti.SoilProfile2D); - // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SoilProfile2D"); - // result = compare.Compare(expectedSoilList, fillDamEngineFromWti.SoilList); - // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel SoilList"); - // result = compare.Compare(expectedLocation, fillDamEngineFromWti.Location); - // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel Location"); - // result = compare.Compare(expectedParametersMStab, fillDamEngineFromWti.FailureMechanismParametersMStab); - // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel FailureMechanismParametersMStab"); - + CompareStabilityModel(expectedParametersMStab, fillEngineFromMacroStabilityWrapperInput.FailureMechanismParametersMStab); + //Todo : add and or implement comparer per item as these are added to the code + } private UpliftVanCalculationGrid CreateExampleUpliftVanCalculationGrid() @@ -161,82 +151,45 @@ return waterNet; } - [TestCase("Benchmark 1-01b.wti")] - [TestCase("bm3-10c.wti")] - [Category(Categories.WorkInProgress)] //wti files can no longer be used - public void GivenWtiFileWhenFillingToDamEngineDataAndWritingBackToKernelDataThenTheKernelModelsAreEqual(string fileNameIn) - { - // Given Wti file - string fullFileNameIn = Path.Combine(WtiFilesMap, fileNameIn); + + // private void CompareTrafficLoad(List expectedUniformLoads, List actualUniformLoads) + // { + // var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; + // compare.Config.MembersToInclude = new List() + // { + // "XEnd", + // "XStart", + // "Pressure" + // }; + // ComparisonResult result; + // result = compare.Compare(expectedUniformLoads, actualUniformLoads); + // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel Traffic Load"); + // } - // When filling to DamEngine data - string xmlInput = File.ReadAllText(fullFileNameIn); - //KernelModel expectedKernelModel = WtiDeserializer.Deserialize(xmlInput); - FillEngineFromMacroStabilityWrapperInput fillDamEngineFromWti = new FillEngineFromMacroStabilityWrapperInput(); - //fillDamEngineFromWti.FillDamProjectDataFromKernelModel(expectedKernelModel); + // private void CompareUpliftVanCalculationGrid(SlipPlaneUpliftVan expectedSlipPlaneUpliftVan, SlipPlaneUpliftVan actualSlipPlaneUpliftVan) + // { + // var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; + // compare.Config.MembersToIgnore = new List() + // { + // "TangentLinesBoundaries", // Needed to avoid exception in comparison + // "TangentLineXLeft", // not relevant + // "TangentLineXRight", // not relevant + // "MoveGrid" // not relevant + // }; + // ComparisonResult result; + // result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneTangentLine, actualSlipPlaneUpliftVan.SlipPlaneTangentLine); + // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Tangent Lines"); + // result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneRightGrid, actualSlipPlaneUpliftVan.SlipPlaneRightGrid); + // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Right grid"); + // result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneLeftGrid, actualSlipPlaneUpliftVan.SlipPlaneLeftGrid); + // Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Left grid"); + // } - // And writing back to kernel data - var fillWtiKernelData = new FillMacroStabilityWrapperInputFromEngine() - { - UpliftVanCalculationGrid = fillDamEngineFromWti.UpliftVanCalculationGrid, - TrafficLoad = fillDamEngineFromWti.TrafficLoad - }; - // var actualKernelModel = fillWtiKernelData.CreateMacroStabilityInput(); - // string xmlOutput = WtiSerializer.Serialize(actualKernelModel); - string fileNameOut = fileNameIn + ".out"; - string fullFileNameOut = Path.Combine(WtiFilesMap, fileNameOut); - // File.WriteAllText(fullFileNameOut, xmlOutput); - - // Then the kernel models are equal - // CompareStabilityModel(expectedKernelModel.StabilityModel, actualKernelModel.StabilityModel); - // CompareSoilModel(expectedKernelModel.StabilityModel.SoilModel, actualKernelModel.StabilityModel.SoilModel); - // CompareSoilProfile2D(expectedKernelModel.StabilityModel.SoilProfile, actualKernelModel.StabilityModel.SoilProfile); - // CompareSoilSurfaceLine(expectedKernelModel.PreprocessingModel.LastStage.SurfaceLine.CharacteristicPoints, - // actualKernelModel.PreprocessingModel.LastStage.SurfaceLine.CharacteristicPoints); - // CompareWaternet(expectedKernelModel.StabilityModel.LastStage.GeotechnicsData.CurrentWaternet, - // actualKernelModel.StabilityModel.LastStage.GeotechnicsData.CurrentWaternet); - // CompareUpliftVanCalculationGrid(expectedKernelModel.StabilityModel.SlipPlaneUpliftVan, actualKernelModel.StabilityModel.SlipPlaneUpliftVan); - // CompareTrafficLoad(expectedKernelModel.StabilityModel.LastStage.UniformLoads, actualKernelModel.StabilityModel.LastStage.UniformLoads); - } - - private void CompareTrafficLoad(List expectedUniformLoads, List actualUniformLoads) + private void CompareWaternet(Data.Geometry.Waternet expectedWaternet, Data.Geometry.Waternet actualWaternet) { var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; - compare.Config.MembersToInclude = new List() - { - "XEnd", - "XStart", - "Pressure" - }; - ComparisonResult result; - result = compare.Compare(expectedUniformLoads, actualUniformLoads); - Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel Traffic Load"); - } - - private void CompareUpliftVanCalculationGrid(SlipPlaneUpliftVan expectedSlipPlaneUpliftVan, SlipPlaneUpliftVan actualSlipPlaneUpliftVan) - { - var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; compare.Config.MembersToIgnore = new List() { - "TangentLinesBoundaries", // Needed to avoid exception in comparison - "TangentLineXLeft", // not relevant - "TangentLineXRight", // not relevant - "MoveGrid" // not relevant - }; - ComparisonResult result; - result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneTangentLine, actualSlipPlaneUpliftVan.SlipPlaneTangentLine); - Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Tangent Lines"); - result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneRightGrid, actualSlipPlaneUpliftVan.SlipPlaneRightGrid); - Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Right grid"); - result = compare.Compare(expectedSlipPlaneUpliftVan.SlipPlaneLeftGrid, actualSlipPlaneUpliftVan.SlipPlaneLeftGrid); - Assert.AreEqual(0, result.Differences.Count, "Differences found read/write kernel UpliftVanCalculationGrid Left grid"); - } - - private void CompareWaternet(Waternet expectedWaternet, Waternet actualWaternet) - { - var compare = new CompareLogic { Config = { MaxDifferences = 100 } }; - compare.Config.MembersToIgnore = new List() - { "Waternet", "Owner" }; @@ -286,11 +239,13 @@ // } // } - private void CompareStabilityModel(StabilityModel expectedStabilityModel, StabilityModel actualStabilityModel) + private void CompareStabilityModel(FailureMechanismParametersMStab expectedStabilityModel, FailureMechanismParametersMStab actualStabilityModel) { - Assert.AreEqual(expectedStabilityModel.SearchAlgorithm, actualStabilityModel.SearchAlgorithm); - Assert.AreEqual(expectedStabilityModel.ModelOption, actualStabilityModel.ModelOption); - Assert.AreEqual(expectedStabilityModel.GridOrientation, actualStabilityModel.GridOrientation); + Assert.AreEqual(expectedStabilityModel.MStabParameters.SearchMethod, actualStabilityModel.MStabParameters.SearchMethod); + Assert.AreEqual(expectedStabilityModel.MStabParameters.Model, actualStabilityModel.MStabParameters.Model); + Assert.AreEqual(expectedStabilityModel.MStabParameters.GridPosition, actualStabilityModel.MStabParameters.GridPosition); + Assert.AreEqual(expectedStabilityModel.MStabParameters.SlipCircleDefinition.GridSizeDetermination, actualStabilityModel.MStabParameters.SlipCircleDefinition.GridSizeDetermination); + } [TestCase("ValidateOk.xml")] Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperInputFromEngine.cs =================================================================== diff -u -r2918 -r2920 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperInputFromEngine.cs (.../FillMacroStabilityWrapperInputFromEngine.cs) (revision 2918) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperInputFromEngine.cs (.../FillMacroStabilityWrapperInputFromEngine.cs) (revision 2920) @@ -71,14 +71,11 @@ private void TransferStabilityModelProperties(FailureMechanismParametersMStab damFailureMechanismParametersMStab, StabilityInput kernelStabilityInput) { - kernelStabilityInput.MoveGrid = true; // is not in DamEngine datamodel + kernelStabilityInput.MoveGrid = damFailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition.GridSizeDetermination == GridSizeDetermination.Automatic; //ToDo: is this the correct param? kernelStabilityInput.MaximumSliceWidth = 1.0; // is not in DamEngine datamodel - //kernelStabilityInput.SearchAlgorithm = ConversionHelper.ConvertToMacroStabilitySearchMethod( - //failureMechanismParametersMStab.MStabParameters.SearchMethod); - //kernelStabilityInput.ModelOption = ConversionHelper.ConvertToModelOptions( - //failureMechanismParametersMStab.MStabParameters.Model); - //kernelStabilityInput.Orientation = ConversionHelper.ConvertToGridOrientation( - // failureMechanismParametersMStab.MStabParameters.GridPosition); + kernelStabilityInput.SearchAlgorithm = ConversionHelper.ConvertToMacroStabilitySearchMethod(damFailureMechanismParametersMStab.MStabParameters.SearchMethod); + kernelStabilityInput.ModelOption = ConversionHelper.ConvertToModelOptions(damFailureMechanismParametersMStab.MStabParameters.Model); + kernelStabilityInput.Orientation = ConversionHelper.ConvertToGridOrientation(damFailureMechanismParametersMStab.MStabParameters.GridPosition); } private void TransferSoils(SoilList damSoilList, Data.Geotechnics.SoilProfile2D damSoilProfile2D, IList kernelSoils)