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