Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs
===================================================================
diff -u -rb85ea570b1c4b07ac07df0912089909bc5304cbc -r120c0735a3c22ff8772394362cb25e1ba28daa37
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision b85ea570b1c4b07ac07df0912089909bc5304cbc)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision 120c0735a3c22ff8772394362cb25e1ba28daa37)
@@ -29,6 +29,7 @@
using Ringtoets.Common.IO.Configurations.Import;
using Ringtoets.MacroStabilityInwards.Data;
using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.IO.Configurations.Helpers;
using Ringtoets.MacroStabilityInwards.IO.Properties;
using Ringtoets.MacroStabilityInwards.Primitives;
@@ -93,6 +94,9 @@
&& TrySetStochasticSoilProfile(calculationConfiguration, calculation)
&& TrySetScenarioParameters(calculationConfiguration.Scenario, calculation))
{
+ SetDikeSoilScenario(calculationConfiguration, calculation);
+ SetGridDeterminationType(calculationConfiguration, calculation);
+ SetTangentLineDeterminationType(calculationConfiguration, calculation);
return calculation;
}
return null;
@@ -252,5 +256,71 @@
}
return true;
}
+
+ ///
+ /// Assigns the dike soil scenario.
+ ///
+ /// The read calculation read.
+ /// The calculation to configure.
+ private static void SetDikeSoilScenario(MacroStabilityInwardsCalculationConfiguration configuration,
+ MacroStabilityInwardsCalculationScenario calculation)
+ {
+ if (!configuration.DikeSoilScenario.HasValue)
+ {
+ return;
+ }
+
+ var dikeSoilScenario = (MacroStabilityInwardsDikeSoilScenario?) new ConfigurationDikeSoilScenarioTypeConverter()
+ .ConvertTo(configuration.DikeSoilScenario.Value, typeof(MacroStabilityInwardsDikeSoilScenario));
+
+ if (dikeSoilScenario.HasValue)
+ {
+ calculation.InputParameters.DikeSoilScenario = dikeSoilScenario.Value;
+ }
+ }
+
+ ///
+ /// Assigns the grid determination type.
+ ///
+ /// The read calculation read.
+ /// The calculation to configure.
+ private static void SetGridDeterminationType(MacroStabilityInwardsCalculationConfiguration configuration,
+ MacroStabilityInwardsCalculationScenario calculation)
+ {
+ if (!configuration.GridDeterminationType.HasValue)
+ {
+ return;
+ }
+
+ var gridDeterminationType = (MacroStabilityInwardsGridDeterminationType?) new ConfigurationGridDeterminationTypeConverter()
+ .ConvertTo(configuration.GridDeterminationType.Value, typeof(MacroStabilityInwardsGridDeterminationType));
+
+ if (gridDeterminationType.HasValue)
+ {
+ calculation.InputParameters.GridDeterminationType = gridDeterminationType.Value;
+ }
+ }
+
+ ///
+ /// Assigns the tangent line determination type.
+ ///
+ /// The read calculation read.
+ /// The calculation to configure.
+ private static void SetTangentLineDeterminationType(MacroStabilityInwardsCalculationConfiguration configuration,
+ MacroStabilityInwardsCalculationScenario calculation)
+ {
+ if (!configuration.TangentLineDeterminationType.HasValue)
+ {
+ return;
+ }
+
+ var tangentLineDeterminationType = (MacroStabilityInwardsTangentLineDeterminationType?) new ConfigurationTangentLineDeterminationTypeConverter()
+ .ConvertTo(configuration.TangentLineDeterminationType.Value, typeof(MacroStabilityInwardsTangentLineDeterminationType));
+
+ if (tangentLineDeterminationType.HasValue)
+ {
+ calculation.InputParameters.TangentLineDeterminationType = tangentLineDeterminationType.Value;
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationImporterTest.cs
===================================================================
diff -u -rb13759ad077f9e2b4104de000b5bdeafa9abe358 -r120c0735a3c22ff8772394362cb25e1ba28daa37
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationImporterTest.cs (.../MacroStabilityInwardsCalculationConfigurationImporterTest.cs) (revision b13759ad077f9e2b4104de000b5bdeafa9abe358)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationImporterTest.cs (.../MacroStabilityInwardsCalculationConfigurationImporterTest.cs) (revision 120c0735a3c22ff8772394362cb25e1ba28daa37)
@@ -429,7 +429,10 @@
UseAssessmentLevelManualInput = manualAssessmentLevel,
SurfaceLine = surfaceLine,
StochasticSoilModel = stochasticSoilModel,
- StochasticSoilProfile = stochasticSoilProfile
+ StochasticSoilProfile = stochasticSoilProfile,
+ DikeSoilScenario = MacroStabilityInwardsDikeSoilScenario.SandDikeOnClay,
+ GridDeterminationType = MacroStabilityInwardsGridDeterminationType.Automatic,
+ TangentLineDeterminationType = MacroStabilityInwardsTangentLineDeterminationType.LayerSeparated
},
IsRelevant = false,
Contribution = (RoundedDouble) 0.088
@@ -447,18 +450,24 @@
MacroStabilityInwardsCalculationScenario actualCalculation)
{
Assert.AreEqual(expectedCalculation.Name, actualCalculation.Name);
- Assert.AreEqual(expectedCalculation.InputParameters.UseAssessmentLevelManualInput, actualCalculation.InputParameters.UseAssessmentLevelManualInput);
- if (expectedCalculation.InputParameters.UseAssessmentLevelManualInput)
+
+ MacroStabilityInwardsInput expectedInput = expectedCalculation.InputParameters;
+ MacroStabilityInwardsInput actualInput = actualCalculation.InputParameters;
+ Assert.AreEqual(expectedInput.UseAssessmentLevelManualInput, actualInput.UseAssessmentLevelManualInput);
+ if (expectedInput.UseAssessmentLevelManualInput)
{
- Assert.AreEqual(expectedCalculation.InputParameters.AssessmentLevel.Value, actualCalculation.InputParameters.AssessmentLevel.Value);
+ Assert.AreEqual(expectedInput.AssessmentLevel.Value, actualInput.AssessmentLevel.Value);
}
else
{
- Assert.AreSame(expectedCalculation.InputParameters.HydraulicBoundaryLocation, actualCalculation.InputParameters.HydraulicBoundaryLocation);
+ Assert.AreSame(expectedInput.HydraulicBoundaryLocation, actualInput.HydraulicBoundaryLocation);
}
- Assert.AreSame(expectedCalculation.InputParameters.SurfaceLine, actualCalculation.InputParameters.SurfaceLine);
- Assert.AreSame(expectedCalculation.InputParameters.StochasticSoilModel, actualCalculation.InputParameters.StochasticSoilModel);
- Assert.AreSame(expectedCalculation.InputParameters.StochasticSoilProfile, actualCalculation.InputParameters.StochasticSoilProfile);
+ Assert.AreSame(expectedInput.SurfaceLine, actualInput.SurfaceLine);
+ Assert.AreSame(expectedInput.StochasticSoilModel, actualInput.StochasticSoilModel);
+ Assert.AreSame(expectedInput.StochasticSoilProfile, actualInput.StochasticSoilProfile);
+ Assert.AreEqual(expectedInput.DikeSoilScenario, actualInput.DikeSoilScenario);
+ Assert.AreEqual(expectedInput.GridDeterminationType, actualInput.GridDeterminationType);
+ Assert.AreEqual(expectedInput.TangentLineDeterminationType, actualInput.TangentLineDeterminationType);
Assert.AreEqual(expectedCalculation.IsRelevant, actualCalculation.IsRelevant);
Assert.AreEqual(expectedCalculation.Contribution, actualCalculation.Contribution, actualCalculation.Contribution.GetAccuracy());