Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs
===================================================================
diff -u -ra4e3b2745a48598260107bb5bfca7485205cdcc2 -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision a4e3b2745a48598260107bb5bfca7485205cdcc2)
+++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -34,10 +34,11 @@
///
/// Creates a new instance of .
///
- public GrassCoverErosionInwardsCalculation()
+ /// The norm to use in the calculation input.
+ public GrassCoverErosionInwardsCalculation(double norm)
{
Name = RiskeerCommonDataResources.Calculation_DefaultName;
- InputParameters = new GrassCoverErosionInwardsInput();
+ InputParameters = new GrassCoverErosionInwardsInput(norm);
Comments = new Comment();
}
Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculationScenario.cs
===================================================================
diff -u -ra4e3b2745a48598260107bb5bfca7485205cdcc2 -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculationScenario.cs (.../GrassCoverErosionInwardsCalculationScenario.cs) (revision a4e3b2745a48598260107bb5bfca7485205cdcc2)
+++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculationScenario.cs (.../GrassCoverErosionInwardsCalculationScenario.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -35,7 +35,9 @@
///
/// Creates a new instance of .
///
- public GrassCoverErosionInwardsCalculationScenario()
+ /// The norm to use in the calculation input.
+ public GrassCoverErosionInwardsCalculationScenario(double norm)
+ : base(norm)
{
IsRelevant = true;
contribution = new RoundedDouble(CalculationScenarioHelper.ContributionNumberOfDecimalPlaces, 1);
Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs
===================================================================
diff -u -r0fb4d7721a6fd350aeee563c018c429cb0eb23ee -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs (.../GrassCoverErosionInwardsInput.cs) (revision 0fb4d7721a6fd350aeee563c018c429cb0eb23ee)
+++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs (.../GrassCoverErosionInwardsInput.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -51,7 +51,8 @@
///
/// Creates a new instance of .
///
- public GrassCoverErosionInwardsInput()
+ /// The norm to use.
+ public GrassCoverErosionInwardsInput(double norm)
{
orientation = new RoundedDouble(orientationNumberOfDecimals);
dikeHeight = new RoundedDouble(2);
@@ -65,6 +66,9 @@
};
DikeHeightCalculationType = DikeHeightCalculationType.NoCalculation;
OvertoppingRateCalculationType = OvertoppingRateCalculationType.NoCalculation;
+
+ DikeHeightReliabilityIndex = norm;
+ OvertoppingRateReliabilityIndex = norm;
}
///
Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs
===================================================================
diff -u -r2503894f449e6a2d24fe0cf15ff1d8a6cd831a3c -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 2503894f449e6a2d24fe0cf15ff1d8a6cd831a3c)
+++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -817,7 +817,7 @@
private static void AddCalculation(GrassCoverErosionInwardsCalculationGroupContext context)
{
- var calculation = new GrassCoverErosionInwardsCalculationScenario
+ var calculation = new GrassCoverErosionInwardsCalculationScenario(context.AssessmentSection.FailureMechanismContribution.Norm)
{
Name = NamingHelper.GetUniqueName(context.WrappedData.Children, RiskeerCommonDataResources.Calculation_DefaultName, c => c.Name)
};
Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationScenarioTest.cs
===================================================================
diff -u -ra4e3b2745a48598260107bb5bfca7485205cdcc2 -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationScenarioTest.cs (.../GrassCoverErosionInwardsCalculationScenarioTest.cs) (revision a4e3b2745a48598260107bb5bfca7485205cdcc2)
+++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationScenarioTest.cs (.../GrassCoverErosionInwardsCalculationScenarioTest.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -37,7 +37,7 @@
public void Constructor_ExpectedValues()
{
// Call
- var scenario = new GrassCoverErosionInwardsCalculationScenario();
+ var scenario = new GrassCoverErosionInwardsCalculationScenario(double.NaN);
// Assert
Assert.IsInstanceOf(scenario);
@@ -53,7 +53,7 @@
public void Contribution_SetInvalidValue_ThrowArgumentException(double newValue)
{
// Setup
- var calculationScenario = new GrassCoverErosionInwardsCalculationScenario();
+ var calculationScenario = new GrassCoverErosionInwardsCalculationScenario(double.NaN);
// Call
void Call() => calculationScenario.Contribution = (RoundedDouble) newValue;
@@ -68,7 +68,7 @@
public void Contribution_SetValidValue_ValueSet(double newValue)
{
// Setup
- var calculationScenario = new GrassCoverErosionInwardsCalculationScenario();
+ var calculationScenario = new GrassCoverErosionInwardsCalculationScenario(double.NaN);
// Call
calculationScenario.Contribution = (RoundedDouble) newValue;
@@ -109,7 +109,7 @@
{
var random = new Random(21);
- var calculation = new GrassCoverErosionInwardsCalculationScenario
+ var calculation = new GrassCoverErosionInwardsCalculationScenario(double.NaN)
{
Name = "A Name",
Comments =
Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs
===================================================================
diff -u -ra4e3b2745a48598260107bb5bfca7485205cdcc2 -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision a4e3b2745a48598260107bb5bfca7485205cdcc2)
+++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Collections.Generic;
using Core.Common.Base;
using Core.Common.Data.TestUtil;
@@ -33,10 +34,13 @@
public class GrassCoverErosionInwardsCalculationTest
{
[Test]
- public void Constructor_DefaultPropertyValuesAreSet()
+ public void Constructor_ExpectedValues()
{
+ // Setup
+ double norm = new Random(21).NextDouble();
+
// Call
- var calculation = new GrassCoverErosionInwardsCalculation();
+ var calculation = new GrassCoverErosionInwardsCalculation(norm);
// Assert
Assert.IsInstanceOf>(calculation);
@@ -47,6 +51,8 @@
Assert.IsNull(calculation.Comments.Body);
Assert.IsNull(calculation.Output);
Assert.IsNull(calculation.InputParameters.DikeProfile);
+ Assert.AreEqual(norm, calculation.InputParameters.DikeHeightReliabilityIndex);
+ Assert.AreEqual(norm, calculation.InputParameters.OvertoppingRateReliabilityIndex);
}
[Test]
@@ -56,7 +62,7 @@
public void Properties_Name_ReturnsExpectedValues(string name)
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation();
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN);
// Call
calculation.Name = name;
@@ -72,7 +78,7 @@
public void Property_Comments_ReturnsExpectedValues(string comments)
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation();
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN);
// Call
calculation.Comments.Body = comments;
@@ -85,7 +91,7 @@
public void ClearOutput_Always_SetsOutputToNull()
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = new TestGrassCoverErosionInwardsOutput()
};
@@ -101,7 +107,7 @@
public void HasOutput_OutputNull_ReturnsFalse()
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = null
};
@@ -117,7 +123,7 @@
public void HasOutput_OutputSet_ReturnsTrue()
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = new TestGrassCoverErosionInwardsOutput()
};
@@ -177,7 +183,7 @@
new TestDikeHeightOutput(new TestGeneralResultFaultTreeIllustrationPoint()),
new TestOvertoppingRateOutput(new TestGeneralResultFaultTreeIllustrationPoint()));
- var calculation = new GrassCoverErosionInwardsCalculation
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = originalOutput
};
@@ -196,18 +202,18 @@
public void ClearIllustrationPoints_CalculationWithoutOutput_DoesNotThrow()
{
// Setup
- var calculation = new GrassCoverErosionInwardsCalculation();
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN);
// Call
- TestDelegate call = () => calculation.ClearIllustrationPoints();
+ void Call() => calculation.ClearIllustrationPoints();
// Assert
- Assert.DoesNotThrow(call);
+ Assert.DoesNotThrow(Call);
}
private static GrassCoverErosionInwardsCalculation CreateRandomCalculationWithoutOutput()
{
- var calculation = new GrassCoverErosionInwardsCalculation
+ var calculation = new GrassCoverErosionInwardsCalculation(double.NaN)
{
Comments =
{
@@ -235,7 +241,7 @@
var overtoppingRateOutputWithoutGeneralResult = new TestOvertoppingRateOutput(1.0);
var overtoppingRateOutputWithGeneralResult = new TestOvertoppingRateOutput(new TestGeneralResultFaultTreeIllustrationPoint());
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -251,7 +257,7 @@
}, false)
.SetName("OutputSufficientScenario1");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -264,18 +270,18 @@
}, false)
.SetName("OutputSufficientScenario2");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = new GrassCoverErosionInwardsOutput(overtoppingOutputWithoutGeneralResult,
null,
null)
}, false)
.SetName("OutputSufficientScenario3");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(), true)
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN), true)
.SetName("NoOutputScenario1");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -285,7 +291,7 @@
}, true)
.SetName("NoOutputScenario2");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -298,15 +304,15 @@
}, true)
.SetName("NoOutputScenario3");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
Output = new GrassCoverErosionInwardsOutput(overtoppingOutputWithGeneralResult,
null,
null)
}, true)
.SetName("OvertoppingOutputWithRedundantGeneralResult");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -318,7 +324,7 @@
}, true)
.SetName("OvertoppingOutputWithMissingGeneralResult");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -330,7 +336,7 @@
}, true)
.SetName("DikeHeightOutputWithRedundantGeneralResult");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -343,7 +349,7 @@
}, true)
.SetName("DikeHeightOutputWithMissingGeneralResult");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
@@ -355,7 +361,7 @@
}, true)
.SetName("OvertoppingRateOutputWithRedundantGeneralResult");
- yield return new TestCaseData(new GrassCoverErosionInwardsCalculation
+ yield return new TestCaseData(new GrassCoverErosionInwardsCalculation(double.NaN)
{
InputParameters =
{
Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs
===================================================================
diff -u -r0fb4d7721a6fd350aeee563c018c429cb0eb23ee -r4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42
--- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision 0fb4d7721a6fd350aeee563c018c429cb0eb23ee)
+++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision 4cb44d36bec6a6f1b4c1c2ff2db086b9996a2b42)
@@ -132,8 +132,10 @@
StandardDeviation = (RoundedDouble) 0.0006
};
+ double norm = new Random(21).NextDouble();
+
// Call
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(norm);
// Assert
Assert.IsInstanceOf(input);
@@ -149,6 +151,10 @@
Assert.IsFalse(input.ShouldDikeHeightBeCalculated);
Assert.IsFalse(input.ShouldOvertoppingRateBeCalculated);
+
+ Assert.AreEqual(norm, input.DikeHeightReliabilityIndex);
+ Assert.AreEqual(norm, input.OvertoppingRateReliabilityIndex);
+
Assert.AreEqual(DikeHeightCalculationType.NoCalculation, input.DikeHeightCalculationType);
Assert.AreEqual(OvertoppingRateCalculationType.NoCalculation, input.OvertoppingRateCalculationType);
@@ -161,7 +167,7 @@
// Setup
DikeProfile dikeProfile = CreateTestDikeProfile();
- var input = new GrassCoverErosionInwardsInput
+ var input = new GrassCoverErosionInwardsInput(double.NaN)
{
DikeProfile = dikeProfile
};
@@ -178,7 +184,7 @@
public void DikeProfile_SetNewValue_InputSyncedAccordingly(DikeProfile newDikeProfile)
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
// Call
input.DikeProfile = newDikeProfile;
@@ -196,7 +202,7 @@
public void Orientation_SetNewValue_ValueIsRounded(double validOrientation)
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
int originalNumberOfDecimalPlaces = input.Orientation.NumberOfDecimalPlaces;
@@ -219,20 +225,21 @@
public void Orientation_SetInvalidValue_ThrowsArgumentOutOfRangeException(double invalidOrientation)
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
// Call
- TestDelegate call = () => input.Orientation = (RoundedDouble) invalidOrientation;
+ void Call() => input.Orientation = (RoundedDouble) invalidOrientation;
// Assert
- TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "De waarde voor de oriƫntatie moet in het bereik [0,00, 360,00] liggen.");
+ const string expectedMessage = "De waarde voor de oriƫntatie moet in het bereik [0,00, 360,00] liggen.";
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(Call, expectedMessage);
}
[Test]
public void DikeHeight_SetNewValue_ValueIsRounded()
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
int originalNumberOfDecimalPlaces = input.DikeHeight.NumberOfDecimalPlaces;
@@ -249,7 +256,7 @@
{
// Setup
var random = new Random(22);
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
RoundedDouble mean = random.NextRoundedDouble(0.01, double.MaxValue);
RoundedDouble standardDeviation = random.NextRoundedDouble(0.01, double.MaxValue);
var expectedDistribution = new LogNormalDistribution(4)
@@ -276,7 +283,7 @@
public void IsDikeProfileInputSynchronized_DikeProfileNotSet_ReturnFalse()
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
// Call
bool synchronized = input.IsDikeProfileInputSynchronized;
@@ -289,7 +296,7 @@
public void IsDikeProfileInputSynchronized_InputParametersAndDikeProfileInSync_ReturnTrue()
{
// Setup
- var input = new GrassCoverErosionInwardsInput
+ var input = new GrassCoverErosionInwardsInput(double.NaN)
{
DikeProfile = DikeProfileTestFactory.CreateDikeProfile(new[]
{
@@ -312,7 +319,7 @@
// Setup
DikeProfile dikeProfile = CreateTestDikeProfile();
- var input = new GrassCoverErosionInwardsInput
+ var input = new GrassCoverErosionInwardsInput(double.NaN)
{
DikeProfile = dikeProfile
};
@@ -330,7 +337,7 @@
public void SynchronizeDikeProfileInput_DikeProfileNotSet_ExpectedValues()
{
// Setup
- var input = new GrassCoverErosionInwardsInput();
+ var input = new GrassCoverErosionInwardsInput(double.NaN);
// Call
input.SynchronizeDikeProfileInput();
@@ -346,7 +353,7 @@
// Setup
DikeProfile dikeProfile = CreateTestDikeProfile();
- var input = new GrassCoverErosionInwardsInput
+ var input = new GrassCoverErosionInwardsInput(double.NaN)
{
DikeProfile = dikeProfile
};
@@ -364,7 +371,7 @@
public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues()
{
// Setup
- var original = new GrassCoverErosionInwardsInput();
+ var original = new GrassCoverErosionInwardsInput(double.NaN);
GrassCoverErosionInwardsTestDataGenerator.SetRandomDataToGrassCoverErosionInwardsInput(original);
@@ -379,7 +386,7 @@
public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues()
{
// Setup
- var original = new GrassCoverErosionInwardsInput();
+ var original = new GrassCoverErosionInwardsInput(double.NaN);
GrassCoverErosionInwardsTestDataGenerator.SetRandomDataToGrassCoverErosionInwardsInput(original);
@@ -395,7 +402,7 @@
private static void AssertDikeProfileInput(DikeProfile expectedDikeProfile, GrassCoverErosionInwardsInput input)
{
- var defaultInput = new GrassCoverErosionInwardsInput();
+ var defaultInput = new GrassCoverErosionInwardsInput(double.NaN);
if (expectedDikeProfile == null)
{