Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs =================================================================== diff -u -r89a30d666e2e684db9d72ed16c3be18a6afad391 -rcf20e79408b29cec5bad86f6585d3e54791cd551 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision 89a30d666e2e684db9d72ed16c3be18a6afad391) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision cf20e79408b29cec5bad86f6585d3e54791cd551) @@ -555,6 +555,7 @@ calculations .Select(pc => new MacroStabilityInwardsCalculationActivity(pc, assessmentInput, + new GeneralMacroStabilityInwardsInput(), norm, contribution)) .ToList()); @@ -789,6 +790,7 @@ ActivityProgressDialogRunner.Run(Gui.MainWindow, new MacroStabilityInwardsCalculationActivity(calculation, context.FailureMechanism.MacroStabilityInwardsProbabilityAssessmentInput, + new GeneralMacroStabilityInwardsInput(), context.AssessmentSection.FailureMechanismContribution.Norm, context.FailureMechanism.Contribution)); } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsCalculationActivity.cs =================================================================== diff -u -rda31d7f34c54ec5800146246aa26509a6e78c118 -rcf20e79408b29cec5bad86f6585d3e54791cd551 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsCalculationActivity.cs (.../MacroStabilityInwardsCalculationActivity.cs) (revision da31d7f34c54ec5800146246aa26509a6e78c118) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Service/MacroStabilityInwardsCalculationActivity.cs (.../MacroStabilityInwardsCalculationActivity.cs) (revision cf20e79408b29cec5bad86f6585d3e54791cd551) @@ -35,20 +35,23 @@ private readonly double contribution; private readonly MacroStabilityInwardsCalculation calculation; private readonly MacroStabilityInwardsProbabilityAssessmentInput macroStabilityInwardsProbabilityAssessmentInput; + private readonly GeneralMacroStabilityInwardsInput generalInput; /// /// Initializes a new instance of the class. /// /// The macro stability inwards data used for the calculation. /// General input that influences the probability estimate for a /// macro stability inwards assessment. + /// General input that influences the probability estimate for a + /// macro stability inwards assessment. /// The norm to assess for. /// The contribution of macro stability inwards as a percentage (0-100) to the total of the failure probability /// of the assessment section. - /// Thrown when any - /// or is null. + /// Thrown when any , + /// or is null. public MacroStabilityInwardsCalculationActivity(MacroStabilityInwardsCalculation calculation, MacroStabilityInwardsProbabilityAssessmentInput macroStabilityInwardsProbabilityAssessmentInput, - double norm, double contribution) + GeneralMacroStabilityInwardsInput generalInput, double norm, double contribution) { if (calculation == null) { @@ -58,9 +61,14 @@ { throw new ArgumentNullException(nameof(macroStabilityInwardsProbabilityAssessmentInput)); } + if (generalInput == null) + { + throw new ArgumentNullException(nameof(generalInput)); + } this.calculation = calculation; this.macroStabilityInwardsProbabilityAssessmentInput = macroStabilityInwardsProbabilityAssessmentInput; + this.generalInput = generalInput; this.norm = norm; this.contribution = contribution; @@ -79,7 +87,7 @@ MacroStabilityInwardsCalculationService.Calculate(calculation); MacroStabilityInwardsSemiProbabilisticCalculationService.Calculate(calculation, macroStabilityInwardsProbabilityAssessmentInput, - new GeneralMacroStabilityInwardsInput(), norm, contribution); + generalInput, norm, contribution); } protected override void OnCancel() Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationActivityTest.cs =================================================================== diff -u -rb2f4b307c254c747a5cf01d2fb94970e5e954c36 -rcf20e79408b29cec5bad86f6585d3e54791cd551 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationActivityTest.cs (.../MacroStabilityInwardsCalculationActivityTest.cs) (revision b2f4b307c254c747a5cf01d2fb94970e5e954c36) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationActivityTest.cs (.../MacroStabilityInwardsCalculationActivityTest.cs) (revision cf20e79408b29cec5bad86f6585d3e54791cd551) @@ -44,7 +44,8 @@ var calculation = new MacroStabilityInwardsCalculation(); // Call - var activity = new MacroStabilityInwardsCalculationActivity(calculation, new MacroStabilityInwardsProbabilityAssessmentInput(), int.MinValue, double.NaN); + var activity = new MacroStabilityInwardsCalculationActivity(calculation, new MacroStabilityInwardsProbabilityAssessmentInput(), + new GeneralMacroStabilityInwardsInput(), int.MinValue, double.NaN); // Assert Assert.IsInstanceOf(activity); @@ -57,7 +58,8 @@ public void ParameteredConstructor_CalculationNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => new MacroStabilityInwardsCalculationActivity(null, new MacroStabilityInwardsProbabilityAssessmentInput(), int.MinValue, double.NaN); + TestDelegate call = () => new MacroStabilityInwardsCalculationActivity(null, new MacroStabilityInwardsProbabilityAssessmentInput(), + new GeneralMacroStabilityInwardsInput(), int.MinValue, double.NaN); // Assert var exception = Assert.Throws(call); @@ -71,14 +73,31 @@ var calculation = new MacroStabilityInwardsCalculation(); // Call - TestDelegate call = () => new MacroStabilityInwardsCalculationActivity(calculation, null, int.MinValue, double.NaN); + TestDelegate call = () => new MacroStabilityInwardsCalculationActivity(calculation, null, + new GeneralMacroStabilityInwardsInput(), + int.MinValue, double.NaN); // Assert var exception = Assert.Throws(call); Assert.AreEqual("macroStabilityInwardsProbabilityAssessmentInput", exception.ParamName); } [Test] + public void ParemeteredConstructor_GeneralInputNull_ThrowsArgumentNullException() + { + // Setup + var calculation = new MacroStabilityInwardsCalculation(); + + // Call + TestDelegate call = () => new MacroStabilityInwardsCalculationActivity(calculation, new MacroStabilityInwardsProbabilityAssessmentInput(), + null, int.MinValue, double.NaN); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("generalInput", exception.ParamName); + } + + [Test] public void Run_InvalidMacroStabilityInwardsCalculationWithOutput_LogValidationStartAndEndWithErrors() { // Setup @@ -89,7 +108,8 @@ invalidMacroStabilityInwardsCalculation.Output = originalOutput; invalidMacroStabilityInwardsCalculation.SemiProbabilisticOutput = originalSemiProbabilisticOutput; - var activity = new MacroStabilityInwardsCalculationActivity(invalidMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), int.MinValue, double.NaN); + var activity = new MacroStabilityInwardsCalculationActivity(invalidMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), + new GeneralMacroStabilityInwardsInput(), int.MinValue, double.NaN); // Call Action call = () => activity.Run(); @@ -125,7 +145,8 @@ using (new MacroStabilityInwardsCalculatorFactoryConfig()) { - var activity = new MacroStabilityInwardsCalculationActivity(validMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), norm, double.NaN); + var activity = new MacroStabilityInwardsCalculationActivity(validMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), + new GeneralMacroStabilityInwardsInput(), norm, double.NaN); activity.Run(); // Call @@ -162,7 +183,8 @@ validMacroStabilityInwardsCalculation.SemiProbabilisticOutput = null; validMacroStabilityInwardsCalculation.Attach(observer); - var activity = new MacroStabilityInwardsCalculationActivity(validMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), int.MinValue, double.NaN); + var activity = new MacroStabilityInwardsCalculationActivity(validMacroStabilityInwardsCalculation, new MacroStabilityInwardsProbabilityAssessmentInput(), + new GeneralMacroStabilityInwardsInput(), int.MinValue, double.NaN); activity.Run();