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();