Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs
===================================================================
diff -u -re4e0262d031b09d6ddb2812720cb69bb8f14b564 -red2f1cb6668ebc525c0d537db0e68db8f2bc65bc
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs (.../MacroStabilityInwardsPreconsolidationStress.cs) (revision e4e0262d031b09d6ddb2812720cb69bb8f14b564)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs (.../MacroStabilityInwardsPreconsolidationStress.cs) (revision ed2f1cb6668ebc525c0d537db0e68db8f2bc65bc)
@@ -19,6 +19,9 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
+using Ringtoets.MacroStabilityInwards.Primitives.Properties;
+
namespace Ringtoets.MacroStabilityInwards.Primitives
{
///
@@ -38,12 +41,19 @@
/// variation of the stochastic distribution for the preconsolidation stress.
/// The shift of the stochastic distribution
/// for the preconsolidation stress
+ /// Thrown when any of the parameters has an invalid value.
public MacroStabilityInwardsPreconsolidationStress(double xCoordinate,
double zCoordinate,
double preconsolidationStressMean,
double preconsolidationStressCoefficientOfVariation,
double preconsolidationStressShift)
{
+ ValidateParameter(xCoordinate, Resources.MacroStabilityInwardsPreconsolidationStress_XCoordinate_ParameterName);
+ ValidateParameter(zCoordinate, Resources.MacroStabilityInwardsPreconsolidationStress_ZCoordinate_ParameterName);
+ ValidateParameter(preconsolidationStressMean, Resources.MacroStabilityInwardsPreconsolidationStress_PreconsolidationStressMean_ParameterName);
+ ValidateParameter(preconsolidationStressCoefficientOfVariation, Resources.MacroStabilityInwardsPreconsolidationStress_PreconsolidationStressCoefficientOfVariation_ParameterName);
+ ValidateParameter(preconsolidationStressShift, Resources.MacroStabilityInwardsPreconsolidationStress_PreconsolidationStressShift_ParameterName);
+
XCoordinate = xCoordinate;
ZCoordinate = zCoordinate;
PreconsolidationStressMean = preconsolidationStressMean;
@@ -81,6 +91,21 @@
///
public double PreconsolidationStressShift { get; }
+ ///
+ /// Validates if the is a valid value.
+ ///
+ /// The value to validate.
+ /// The name of the parameter to validate.
+ /// Thrown if the parameter value is invalid.
+ private static void ValidateParameter(double value, string parameterName)
+ {
+ if (double.IsNaN(value))
+ {
+ string message = string.Format(Resources.MacroStabilityInwardsPreconsolidationStress_ValidateParameter_The_value_of_ParameterName_0_must_be_a_concrete_value, parameterName);
+ throw new ArgumentException(message);
+ }
+ }
+
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))