Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/InterfaceConversionHelperTests.cs =================================================================== diff -u -r6350 -r6353 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/InterfaceConversionHelperTests.cs (.../InterfaceConversionHelperTests.cs) (revision 6350) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/InterfaceConversionHelperTests.cs (.../InterfaceConversionHelperTests.cs) (revision 6353) @@ -20,9 +20,11 @@ // All rights reserved. using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityCommon.MacroStabilityIo; +using Deltares.DamEngine.Data.Geotechnics; using Deltares.MacroStability.Io.XmlInput; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; +using CharacteristicPointType = Deltares.MacroStability.Io.XmlInput.CharacteristicPointType; namespace Deltares.DamEngine.Calculators.Tests.KernelWrappers.MacroStabilityCommon; @@ -126,4 +128,66 @@ ComparisonResult result = compare.Compare(macroStabilitySoil, actualMacroStabilitySoil); Assert.That(result.Differences, Is.Empty, "Differences found converting/reconverting Soil but this ok now if diff = 3"); } + + [TestCase(WaterpressureInterpolationModel.Automatic, WaterPressureInterpolationModelType.Automatic)] + [TestCase(WaterpressureInterpolationModel.Hydrostatic, WaterPressureInterpolationModelType.Hydrostatic)] + public static void CanConvertToMacroStabilityWaterPressureInterpolationModel( + WaterpressureInterpolationModel damWaterPressureInterpolationModel, WaterPressureInterpolationModelType waterPressureInterpolationModel) + { + Assert.That(InterfaceConversionHelper.ConvertToMacroStabilityWaterPressureInterpolationModel(damWaterPressureInterpolationModel), Is.EqualTo(waterPressureInterpolationModel)); + } + + [TestCase(WaterPressureInterpolationModelType.Automatic, WaterpressureInterpolationModel.Automatic)] + [TestCase(WaterPressureInterpolationModelType.Hydrostatic, WaterpressureInterpolationModel.Hydrostatic)] + public static void CanConvertToDamWaterPressureInterpolationModel( + WaterPressureInterpolationModelType waterPressureInterpolationModel, WaterpressureInterpolationModel damWaterPressureInterpolationModel) + { + Assert.That(InterfaceConversionHelper.ConvertToDamWaterPressureInterpolationModel(waterPressureInterpolationModel), Is.EqualTo(damWaterPressureInterpolationModel)); + } + + [TestCase(Data.Geotechnics.CharacteristicPointType.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide)] + [TestCase(Data.Geotechnics.CharacteristicPointType.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DikeTopAtPolder, CharacteristicPointType.DikeTopAtPolder)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DikeTopAtRiver, CharacteristicPointType.DikeTopAtRiver)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DitchDikeSide, CharacteristicPointType.DitchDikeSide)] + [TestCase(Data.Geotechnics.CharacteristicPointType.DitchPolderSide, CharacteristicPointType.DitchPolderSide)] + [TestCase(Data.Geotechnics.CharacteristicPointType.None, CharacteristicPointType.None)] + [TestCase(Data.Geotechnics.CharacteristicPointType.ShoulderBaseInside, CharacteristicPointType.ShoulderBaseInside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.ShoulderBaseOutside, CharacteristicPointType.ShoulderBaseOutside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.ShoulderTopInside, CharacteristicPointType.ShoulderTopInside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.ShoulderTopOutside, CharacteristicPointType.ShoulderTopOutside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.SurfaceLevelInside, CharacteristicPointType.SurfaceLevelInside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.SurfaceLevelOutside, CharacteristicPointType.SurfaceLevelOutside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.TrafficLoadInside, CharacteristicPointType.TrafficLoadInside)] + [TestCase(Data.Geotechnics.CharacteristicPointType.TrafficLoadOutside, CharacteristicPointType.TrafficLoadOutside)] + public static void CanConvertToMacroStabilityCharacteristicPointType( + Data.Geotechnics.CharacteristicPointType damCharacteristicPointType, CharacteristicPointType kernelCharacteristicPointType) + { + Assert.That(InterfaceConversionHelper.ConvertToMacroStabilityCharacteristicPointType(damCharacteristicPointType), Is.EqualTo(kernelCharacteristicPointType)); + } + + [TestCase(CharacteristicPointType.BottomDitchDikeSide, Data.Geotechnics.CharacteristicPointType.BottomDitchDikeSide)] + [TestCase(CharacteristicPointType.BottomDitchPolderSide, Data.Geotechnics.CharacteristicPointType.BottomDitchPolderSide)] + [TestCase(CharacteristicPointType.DikeToeAtPolder, Data.Geotechnics.CharacteristicPointType.DikeToeAtPolder)] + [TestCase(CharacteristicPointType.DikeToeAtRiver, Data.Geotechnics.CharacteristicPointType.DikeToeAtRiver)] + [TestCase(CharacteristicPointType.DikeTopAtPolder, Data.Geotechnics.CharacteristicPointType.DikeTopAtPolder)] + [TestCase(CharacteristicPointType.DikeTopAtRiver, Data.Geotechnics.CharacteristicPointType.DikeTopAtRiver)] + [TestCase(CharacteristicPointType.DitchDikeSide, Data.Geotechnics.CharacteristicPointType.DitchDikeSide)] + [TestCase(CharacteristicPointType.DitchPolderSide, Data.Geotechnics.CharacteristicPointType.DitchPolderSide)] + [TestCase(CharacteristicPointType.None, Data.Geotechnics.CharacteristicPointType.None)] + [TestCase(CharacteristicPointType.ShoulderBaseInside, Data.Geotechnics.CharacteristicPointType.ShoulderBaseInside)] + [TestCase(CharacteristicPointType.ShoulderBaseOutside, Data.Geotechnics.CharacteristicPointType.ShoulderBaseOutside)] + [TestCase(CharacteristicPointType.ShoulderTopInside, Data.Geotechnics.CharacteristicPointType.ShoulderTopInside)] + [TestCase(CharacteristicPointType.ShoulderTopOutside, Data.Geotechnics.CharacteristicPointType.ShoulderTopOutside)] + [TestCase(CharacteristicPointType.SurfaceLevelInside, Data.Geotechnics.CharacteristicPointType.SurfaceLevelInside)] + [TestCase(CharacteristicPointType.SurfaceLevelOutside, Data.Geotechnics.CharacteristicPointType.SurfaceLevelOutside)] + [TestCase(CharacteristicPointType.TrafficLoadInside, Data.Geotechnics.CharacteristicPointType.TrafficLoadInside)] + [TestCase(CharacteristicPointType.TrafficLoadOutside, Data.Geotechnics.CharacteristicPointType.TrafficLoadOutside)] + public static void CanConvertToDamCharacteristicPointType( + CharacteristicPointType kernelCharacteristicPointType, Data.Geotechnics.CharacteristicPointType damCharacteristicPointType) + { + Assert.That(InterfaceConversionHelper.ConvertToDamCharacteristicPointType(kernelCharacteristicPointType), Is.EqualTo(damCharacteristicPointType)); + } } \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/InterfaceConversionHelper.cs =================================================================== diff -u -r6350 -r6353 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/InterfaceConversionHelper.cs (.../InterfaceConversionHelper.cs) (revision 6350) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/InterfaceConversionHelper.cs (.../InterfaceConversionHelper.cs) (revision 6353) @@ -174,6 +174,68 @@ return translationTable[damCharacteristicPointType]; } + /// Converts the type of macro stability characteristic point to dam type. + /// Type of the dam characteristic point. + /// + public static Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType ConvertToDamCharacteristicPointType(CharacteristicPointType kernelCharacteristicPointType) + { + var translationTable = new Dictionary + { + { + CharacteristicPointType.BottomDitchPolderSide, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.BottomDitchPolderSide + }, + { + CharacteristicPointType.BottomDitchDikeSide, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.BottomDitchDikeSide + }, + { + CharacteristicPointType.DikeToeAtPolder, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DikeToeAtPolder + }, + { + CharacteristicPointType.DikeToeAtRiver, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DikeToeAtRiver + }, + { + CharacteristicPointType.DikeTopAtPolder, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DikeTopAtPolder + }, + { + CharacteristicPointType.DikeTopAtRiver, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DikeTopAtRiver + }, + { + CharacteristicPointType.DitchDikeSide, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DitchDikeSide + }, + { + CharacteristicPointType.DitchPolderSide, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.DitchPolderSide + }, + { + CharacteristicPointType.None, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.None + }, + { + CharacteristicPointType.ShoulderBaseInside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.ShoulderBaseInside + }, + { + CharacteristicPointType.ShoulderBaseOutside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.ShoulderBaseOutside + }, + { + CharacteristicPointType.ShoulderTopInside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.ShoulderTopInside + }, + { + CharacteristicPointType.ShoulderTopOutside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.ShoulderTopOutside + }, + { + CharacteristicPointType.SurfaceLevelInside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.SurfaceLevelInside + }, + { + CharacteristicPointType.SurfaceLevelOutside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.SurfaceLevelOutside + }, + { + CharacteristicPointType.TrafficLoadInside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.TrafficLoadInside + }, + { + CharacteristicPointType.TrafficLoadOutside, Deltares.DamEngine.Data.Geotechnics.CharacteristicPointType.TrafficLoadOutside + } + }; + return translationTable[kernelCharacteristicPointType]; + } + /// Converts to MacroStability soil. /// The Dam soil. /// The MacroStability Soil. @@ -286,7 +348,7 @@ /// The dam ShearStrengthModel. /// /// - public static ShearStrengthModelType ConvertToMacroStabilityShearStrengthModel(ShearStrengthModel damShearStrengthModel) + private static ShearStrengthModelType ConvertToMacroStabilityShearStrengthModel(ShearStrengthModel damShearStrengthModel) { var translationTable = new Dictionary { @@ -309,7 +371,7 @@ /// Converts to dam ShearStrengthModel. /// The kernel ShearStrengthModel. /// - public static ShearStrengthModel ConvertToDamShearStrengthModel(ShearStrengthModelType kernelShearStrengthModel) + private static ShearStrengthModel ConvertToDamShearStrengthModel(ShearStrengthModelType kernelShearStrengthModel) { var translationTable = new Dictionary { @@ -345,4 +407,21 @@ }; return translationTable[waterPressureInterpolationModel]; } + + /// Converts to dam waterpressure interpolation model. + /// The waterpressure interpolation model. + /// + public static WaterpressureInterpolationModel ConvertToDamWaterPressureInterpolationModel(WaterPressureInterpolationModelType waterpressureInterpolationModel) + { + var translationTable = new Dictionary + { + { + WaterPressureInterpolationModelType.Automatic, WaterpressureInterpolationModel.Automatic + }, + { + WaterPressureInterpolationModelType.Hydrostatic, WaterpressureInterpolationModel.Hydrostatic + } + }; + return translationTable[waterpressureInterpolationModel]; + } } \ No newline at end of file