Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs
===================================================================
diff -u -r6173a5eb258ea7b50a5f4aac71d2448db9e211c3 -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs (.../GeneralPipingInput.cs) (revision 6173a5eb258ea7b50a5f4aac71d2448db9e211c3)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/GeneralPipingInput.cs (.../GeneralPipingInput.cs) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -56,7 +56,8 @@
/// Gets the volumetric weight of water.
/// [kN/m³]
///
- /// Thrown when value is set to double.NaN or a negative number.
+ /// Thrown when value
+ /// is set to or falls out of range [0, 20].
public RoundedDouble WaterVolumetricWeight
{
get
@@ -67,9 +68,9 @@
{
var newValue = value.ToPrecision(waterVolumetricWeight.NumberOfDecimalPlaces);
- if (double.IsNaN(newValue) || newValue < 0)
+ if (double.IsNaN(newValue) || newValue < 0 || newValue > 20)
{
- throw new ArgumentException(Resources.GeneralPipingInput_WaterVolumetricWeight_must_be_positive_number);
+ throw new ArgumentOutOfRangeException("value", Resources.GeneralPipingInput_WaterVolumetricWeight_must_be_in_range_zero_to_twenty);
}
waterVolumetricWeight = newValue;
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs
===================================================================
diff -u -r7d8579f17abe04611f9edd55afecb6b85605a04d -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 7d8579f17abe04611f9edd55afecb6b85605a04d)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -136,11 +136,11 @@
}
///
- /// Looks up a localized string similar to De waarde moet een positief getal zijn..
+ /// Looks up a localized string similar to De waarde moet binnen het bereik [0, 20] liggen..
///
- public static string GeneralPipingInput_WaterVolumetricWeight_must_be_positive_number {
+ public static string GeneralPipingInput_WaterVolumetricWeight_must_be_in_range_zero_to_twenty {
get {
- return ResourceManager.GetString("GeneralPipingInput_WaterVolumetricWeight_must_be_positive_number", resourceCulture);
+ return ResourceManager.GetString("GeneralPipingInput_WaterVolumetricWeight_must_be_in_range_zero_to_twenty", resourceCulture);
}
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx
===================================================================
diff -u -r7d8579f17abe04611f9edd55afecb6b85605a04d -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision 7d8579f17abe04611f9edd55afecb6b85605a04d)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -153,7 +153,7 @@
Het gespecificeerde punt moet op het profiel liggen (bereik [{0}, {1}]).
-
- De waarde moet een positief getal zijn.
+
+ De waarde moet binnen het bereik [0, 20] liggen.
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs
===================================================================
diff -u -r6173a5eb258ea7b50a5f4aac71d2448db9e211c3 -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs (.../PipingFailureMechanismContextProperties.cs) (revision 6173a5eb258ea7b50a5f4aac71d2448db9e211c3)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs (.../PipingFailureMechanismContextProperties.cs) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -80,15 +80,15 @@
[ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_General")]
[ResourcesDisplayName(typeof(Resources), "GeneralPipingInput_WaterVolumetricWeight_DisplayName")]
[ResourcesDescription(typeof(Resources), "GeneralPipingInput_WaterVolumetricWeight_Description")]
- public double WaterVolumetricWeight
+ public RoundedDouble WaterVolumetricWeight
{
get
{
return data.WrappedData.GeneralInput.WaterVolumetricWeight;
}
set
{
- data.WrappedData.GeneralInput.WaterVolumetricWeight = (RoundedDouble) value;
+ data.WrappedData.GeneralInput.WaterVolumetricWeight = value;
data.WrappedData.NotifyObservers();
}
}
@@ -162,7 +162,7 @@
[ResourcesCategory(typeof(Resources), "Categories_Sellmeijer")]
[ResourcesDisplayName(typeof(Resources), "GeneralPipingInput_SandParticlesVolumicWeight_DisplayName")]
[ResourcesDescription(typeof(Resources), "GeneralPipingInput_SandParticlesVolumicWeight_Description")]
- public double SandParticlesVolumicWeight
+ public RoundedDouble SandParticlesVolumicWeight
{
get
{
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs
===================================================================
diff -u -r6173a5eb258ea7b50a5f4aac71d2448db9e211c3 -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs (.../GeneralPipingInputTest.cs) (revision 6173a5eb258ea7b50a5f4aac71d2448db9e211c3)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/GeneralPipingInputTest.cs (.../GeneralPipingInputTest.cs) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -46,6 +46,7 @@
Assert.AreEqual(0.3, inputParameters.CriticalHeaveGradient);
Assert.AreEqual(16.19, inputParameters.SandParticlesVolumicWeight, inputParameters.SandParticlesVolumicWeight.GetAccuracy());
+ Assert.AreEqual(2, inputParameters.SandParticlesVolumicWeight.NumberOfDecimalPlaces);
Assert.AreEqual(0.25, inputParameters.WhitesDragCoefficient);
Assert.AreEqual(37, inputParameters.BeddingAngle);
Assert.AreEqual(1.33e-6, inputParameters.WaterKinematicViscosity);
@@ -56,8 +57,10 @@
[Test]
[TestCase(double.NaN)]
- [TestCase(-1)]
+ [TestCase(double.PositiveInfinity)]
+ [TestCase(double.NegativeInfinity)]
[TestCase(-0.005)]
+ [TestCase(20.005)]
public void WaterVolumetricWeight_SetInvalidValue_ThrowArgumentException(double newValue)
{
// Setup
@@ -67,12 +70,13 @@
TestDelegate test = () => inputParameters.WaterVolumetricWeight = (RoundedDouble) newValue;
// Assert
- TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, "De waarde moet een positief getal zijn.");
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, "De waarde moet binnen het bereik [0, 20] liggen.");
}
[Test]
- [TestCase(5.69)]
+ [TestCase(10.69)]
[TestCase(-0.004)]
+ [TestCase(20.004)]
public void WaterVolumetricWeight_SetValidValue_ValueSetAndSandParticlesVolumicWeightUpdated(double newValue)
{
// Setup
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs
===================================================================
diff -u -rd410393e45e21f206234c03e2f6842005d7aba88 -rc3a85c5842b82e538c80029f35ae3e7e58aadb1e
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs (.../PipingFailureMechanismContextPropertiesTest.cs) (revision d410393e45e21f206234c03e2f6842005d7aba88)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs (.../PipingFailureMechanismContextPropertiesTest.cs) (revision c3a85c5842b82e538c80029f35ae3e7e58aadb1e)
@@ -71,11 +71,11 @@
Assert.AreEqual(failureMechanism.GeneralInput.SellmeijerModelFactor, properties.SellmeijerModelFactor);
- Assert.AreEqual(failureMechanism.GeneralInput.WaterVolumetricWeight.Value, properties.WaterVolumetricWeight);
+ Assert.AreEqual(failureMechanism.GeneralInput.WaterVolumetricWeight, properties.WaterVolumetricWeight);
Assert.AreEqual(failureMechanism.GeneralInput.CriticalHeaveGradient, properties.CriticalHeaveGradient);
- Assert.AreEqual(failureMechanism.GeneralInput.SandParticlesVolumicWeight.Value, properties.SandParticlesVolumicWeight);
+ Assert.AreEqual(failureMechanism.GeneralInput.SandParticlesVolumicWeight, properties.SandParticlesVolumicWeight);
Assert.AreEqual(failureMechanism.GeneralInput.WhitesDragCoefficient, properties.WhitesDragCoefficient);
Assert.AreEqual(failureMechanism.GeneralInput.BeddingAngle, properties.BeddingAngle);
Assert.AreEqual(failureMechanism.GeneralInput.WaterKinematicViscosity, properties.WaterKinematicViscosity);
@@ -281,6 +281,7 @@
[Test]
[TestCase(5)]
[TestCase(-0.004)]
+ [TestCase(20.004)]
public void WaterVolumetricWeight_SetValidValue_SetsValueRoundedAndUpdatesObservers(double newValue)
{
// Setup
@@ -298,16 +299,19 @@
failureMechanism.Attach(observerMock);
// Call
- properties.WaterVolumetricWeight = newValue;
+ properties.WaterVolumetricWeight = (RoundedDouble) newValue;
// Assert
- Assert.AreEqual(new RoundedDouble(2, newValue), failureMechanism.GeneralInput.WaterVolumetricWeight);
+ Assert.AreEqual(newValue, failureMechanism.GeneralInput.WaterVolumetricWeight.Value, failureMechanism.GeneralInput.WaterVolumetricWeight.GetAccuracy());
mocks.VerifyAll();
}
[Test]
[TestCase(double.NaN)]
- [TestCase(-0.1)]
+ [TestCase(double.NegativeInfinity)]
+ [TestCase(double.PositiveInfinity)]
+ [TestCase(-0.005)]
+ [TestCase(20.005)]
public void WaterVolumetricWeight_SetValidValue_ThrowArgumentExceptionAndDoesNotUpdateObservers(double newValue)
{
// Setup
@@ -324,10 +328,10 @@
failureMechanism.Attach(observerMock);
// Call
- TestDelegate test = () => properties.WaterVolumetricWeight = newValue;
+ TestDelegate test = () => properties.WaterVolumetricWeight = (RoundedDouble) newValue;
// Assert
- TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, "De waarde moet een positief getal zijn.");
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, "De waarde moet binnen het bereik [0, 20] liggen.");
mocks.VerifyAll(); // Does not expect notify observers.
}
}