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