Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs =================================================================== diff -u -ra4e3b2745a48598260107bb5bfca7485205cdcc2 -r3a493bf57841b3010a54d8e32f0aecd8a293e332 --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporter.cs) (revision a4e3b2745a48598260107bb5bfca7485205cdcc2) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporter.cs) (revision 3a493bf57841b3010a54d8e32f0aecd8a293e332) @@ -24,6 +24,7 @@ using System.Linq; using Core.Common.Base.Data; using Riskeer.Common.Data.Calculation; +using Riskeer.Common.Data.Contribution; using Riskeer.Common.Data.DikeProfiles; using Riskeer.Common.Data.Hydraulics; using Riskeer.Common.IO.Configurations; @@ -38,6 +39,7 @@ : CalculationConfigurationImporter { + private readonly FailureMechanismContribution failureMechanismContribution; private readonly IEnumerable availableHydraulicBoundaryLocations; private readonly IEnumerable availableDikeProfiles; @@ -46,6 +48,8 @@ /// /// The path to the XML file to import from. /// The calculation group to update. + /// The + /// used to get the correct norm. /// The hydraulic boundary locations /// used to check if the imported objects contain the right location. /// The dike profiles used to check if @@ -55,10 +59,16 @@ public GrassCoverErosionInwardsCalculationConfigurationImporter( string xmlFilePath, CalculationGroup importTarget, + FailureMechanismContribution failureMechanismContribution, IEnumerable hydraulicBoundaryLocations, IEnumerable dikeProfiles) : base(xmlFilePath, importTarget) { + if (failureMechanismContribution == null) + { + throw new ArgumentNullException(nameof(failureMechanismContribution)); + } + if (hydraulicBoundaryLocations == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryLocations)); @@ -69,6 +79,7 @@ throw new ArgumentNullException(nameof(dikeProfiles)); } + this.failureMechanismContribution = failureMechanismContribution; availableHydraulicBoundaryLocations = hydraulicBoundaryLocations; availableDikeProfiles = dikeProfiles; } @@ -80,7 +91,7 @@ protected override ICalculation ParseReadCalculation(GrassCoverErosionInwardsCalculationConfiguration readCalculation) { - var calculation = new GrassCoverErosionInwardsCalculationScenario + var calculation = new GrassCoverErosionInwardsCalculationScenario(failureMechanismContribution.Norm) { Name = readCalculation.Name }; Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs =================================================================== diff -u -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42 -r3a493bf57841b3010a54d8e32f0aecd8a293e332 --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 3a493bf57841b3010a54d8e32f0aecd8a293e332) @@ -120,6 +120,7 @@ (context, filePath) => new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, context.WrappedData, + context.AssessmentSection.FailureMechanismContribution, context.AssessmentSection.HydraulicBoundaryDatabase.Locations, context.AvailableDikeProfiles)); Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporterTest.cs =================================================================== diff -u -ref89bf29a08cb1bd5ad8ff6a7f55cbaa9b17869f -r3a493bf57841b3010a54d8e32f0aecd8a293e332 --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporterTest.cs) (revision ef89bf29a08cb1bd5ad8ff6a7f55cbaa9b17869f) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationImporterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationImporterTest.cs) (revision 3a493bf57841b3010a54d8e32f0aecd8a293e332) @@ -27,6 +27,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.Data.Calculation; +using Riskeer.Common.Data.Contribution; using Riskeer.Common.Data.DikeProfiles; using Riskeer.Common.Data.Hydraulics; using Riskeer.Common.Data.TestUtil; @@ -48,10 +49,8 @@ { // Call var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( - "", - new CalculationGroup(), - Enumerable.Empty(), - Enumerable.Empty()); + "", new CalculationGroup(), new FailureMechanismContribution(0.01, 0.001), + Enumerable.Empty(), Enumerable.Empty()); // Assert Assert.IsInstanceOf< @@ -61,11 +60,25 @@ } [Test] + public void Constructor_FailureMechanismContributionNull_ThrowArgumentNullException() + { + // Call + void Call() => new GrassCoverErosionInwardsCalculationConfigurationImporter( + "", new CalculationGroup(), null, Enumerable.Empty(), + Enumerable.Empty()); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("failureMechanismContribution", exception.ParamName); + } + + [Test] public void Constructor_HydraulicBoundaryLocationsNull_ThrowArgumentNullException() { // Call void Call() => new GrassCoverErosionInwardsCalculationConfigurationImporter( - "", new CalculationGroup(), null, Enumerable.Empty()); + "", new CalculationGroup(), new FailureMechanismContribution(0.01, 0.001), + null, Enumerable.Empty()); // Assert var exception = Assert.Throws(Call); @@ -77,7 +90,8 @@ { // Call void Call() => new GrassCoverErosionInwardsCalculationConfigurationImporter( - "", new CalculationGroup(), Enumerable.Empty(), null); + "", new CalculationGroup(), new FailureMechanismContribution(0.01, 0.001), + Enumerable.Empty(), null); // Assert var exception = Assert.Throws(Call); @@ -95,6 +109,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), new[] { @@ -124,6 +139,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -151,6 +167,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -177,6 +194,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -201,6 +219,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -225,6 +244,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -249,6 +269,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -273,6 +294,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -298,6 +320,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), new[] { @@ -328,6 +351,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), new[] { hydraulicBoundaryLocation @@ -364,10 +388,12 @@ var calculationGroup = new CalculationGroup(); - var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter(filePath, - calculationGroup, - Enumerable.Empty(), - Enumerable.Empty()); + var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( + filePath, + calculationGroup, + new FailureMechanismContribution(0.01, 0.001), + Enumerable.Empty(), + Enumerable.Empty()); // Call var successful = false; @@ -395,10 +421,12 @@ var calculationGroup = new CalculationGroup(); - var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter(filePath, - calculationGroup, - Enumerable.Empty(), - Enumerable.Empty()); + var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( + filePath, + calculationGroup, + new FailureMechanismContribution(0.01, 0.001), + Enumerable.Empty(), + Enumerable.Empty()); // Call var successful = false; @@ -429,6 +457,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -465,6 +494,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -494,6 +524,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), Enumerable.Empty(), Enumerable.Empty()); @@ -547,6 +578,7 @@ var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, + new FailureMechanismContribution(0.01, 0.001), new[] { hydraulicBoundaryLocation