Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/GeneralClosingStructuresInput.cs
===================================================================
diff -u -re570ba372fafe1802a4caae2ef9410b64457198b -ra964168b91bc9c287adacc368480575f0bcf8cd9
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/GeneralClosingStructuresInput.cs (.../GeneralClosingStructuresInput.cs) (revision e570ba372fafe1802a4caae2ef9410b64457198b)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/GeneralClosingStructuresInput.cs (.../GeneralClosingStructuresInput.cs) (revision a964168b91bc9c287adacc368480575f0bcf8cd9)
@@ -21,6 +21,7 @@
using System;
using Core.Common.Base.Data;
+using Ringtoets.ClosingStructures.Data.Properties;
using Ringtoets.Common.Data.Probabilistics;
namespace Ringtoets.ClosingStructures.Data
@@ -30,6 +31,8 @@
///
public class GeneralClosingStructuresInput
{
+ private int n2A;
+
///
/// Initializes a new instance of the class.
///
@@ -81,7 +84,21 @@
///
/// Gets or sets the 'N2A' parameter used to factor in the 'length effect'.
///
- public int N2A { get; set; }
+ public int N2A
+ {
+ get
+ {
+ return n2A;
+ }
+ set
+ {
+ if (value < 0 || value > 40)
+ {
+ throw new ArgumentOutOfRangeException("value", Resources.N2A_Value_should_be_in_interval_0_40);
+ }
+ n2A = value;
+ }
+ }
///
/// Gets the 'N' parameter used to factor in the 'length effect'.
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.Designer.cs
===================================================================
diff -u -r9e3639e810a22019da1a9fdf5aa5c433a43520c1 -ra964168b91bc9c287adacc368480575f0bcf8cd9
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 9e3639e810a22019da1a9fdf5aa5c433a43520c1)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision a964168b91bc9c287adacc368480575f0bcf8cd9)
@@ -22,7 +22,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// Runtime Version:4.0.30319.18444
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -107,5 +107,14 @@
return ResourceManager.GetString("ClosingStructuresFailureMechanism_DisplayName", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized string similar to De waarde voor 'N2A' moet in het bereik [0, 40] liggen..
+ ///
+ public static string N2A_Value_should_be_in_interval_0_40 {
+ get {
+ return ResourceManager.GetString("N2A_Value_should_be_in_interval_0_40", resourceCulture);
+ }
+ }
}
}
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.resx
===================================================================
diff -u -r9e3639e810a22019da1a9fdf5aa5c433a43520c1 -ra964168b91bc9c287adacc368480575f0bcf8cd9
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.resx (.../Resources.resx) (revision 9e3639e810a22019da1a9fdf5aa5c433a43520c1)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/Properties/Resources.resx (.../Resources.resx) (revision a964168b91bc9c287adacc368480575f0bcf8cd9)
@@ -126,4 +126,7 @@
Verticale wand
+
+ De waarde voor 'N2A' moet in het bereik [0, 40] liggen.
+
\ No newline at end of file
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/GeneralClosingStructuresInputTest.cs
===================================================================
diff -u -re570ba372fafe1802a4caae2ef9410b64457198b -ra964168b91bc9c287adacc368480575f0bcf8cd9
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/GeneralClosingStructuresInputTest.cs (.../GeneralClosingStructuresInputTest.cs) (revision e570ba372fafe1802a4caae2ef9410b64457198b)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/GeneralClosingStructuresInputTest.cs (.../GeneralClosingStructuresInputTest.cs) (revision a964168b91bc9c287adacc368480575f0bcf8cd9)
@@ -19,7 +19,9 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Core.Common.Base.Data;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.Common.Data.Probabilistics;
using Ringtoets.Common.Data.TestUtil;
@@ -76,8 +78,8 @@
[Test]
[TestCase(0, 1)]
- [TestCase(3, 1.5)]
- [TestCase(6, 3)]
+ [TestCase(8, 4)]
+ [TestCase(40, 20)]
public void N_VariousValues_ReturnsExpectedValue(int n2A, double expected)
{
// Setup
@@ -93,6 +95,24 @@
Assert.AreEqual(expected, n, n.GetAccuracy());
}
+ [Test]
+ [TestCase(-456)]
+ [TestCase(-1)]
+ [TestCase(41)]
+ [TestCase(687)]
+ public void N2A_ValuesOutOfRange_ThrowArgumentOutOfRangeException(int invalidValue)
+ {
+ // Setup
+ var inputParameters = new GeneralClosingStructuresInput();
+
+ // Call
+ TestDelegate call = () => inputParameters.N2A = invalidValue;
+
+ // Assert
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call,
+ "De waarde voor 'N2A' moet in het bereik [0, 40] liggen.");
+ }
+
private static void AssertAreEqual(double expected, RoundedDouble actual)
{
Assert.AreEqual(expected, actual, actual.GetAccuracy());