Index: Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverter.cs
===================================================================
diff -u -r0fd23ff8e68b5f0d18d344d104bc68216cb49b51 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverter.cs (.../WindDirectionClosingSituationIllustrationPointConverter.cs) (revision 0fd23ff8e68b5f0d18d344d104bc68216cb49b51)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverter.cs (.../WindDirectionClosingSituationIllustrationPointConverter.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -42,17 +42,8 @@
/// to base the on.
/// The
/// to base the on.
- ///
- /// Thrown when any of:
- ///
- /// - ,
- /// - ,
- /// - ,
- ///
- ///
are null.
- /// Thrown when
- ///
- /// is not in the interval of [0, 360].
+ /// A .
+ /// Thrown when any parameter is null.
public static WindDirectionClosingSituationIllustrationPoint CreateWindDirectionClosingScenarioIllustrationPoint(
WindDirectionClosingSituation hydraWindDirectionClosingSituation,
SubMechanismIllustrationPoint hydraSubMechanismIllustrationPoint)
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/GeneralResultConverterTest.cs
===================================================================
diff -u -r342ecb50ef0e54c04002a2643689c6d0108518c7 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/GeneralResultConverterTest.cs (.../GeneralResultConverterTest.cs) (revision 342ecb50ef0e54c04002a2643689c6d0108518c7)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/GeneralResultConverterTest.cs (.../GeneralResultConverterTest.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -88,11 +88,8 @@
var hydraWindDirectionClosingSituation =
new WindDirectionClosingSituation(hydraWindDirection, closingSituation);
- var hydraIllustrationPoint = new HydraSubMechanismIllustrationPoint
- {
- Beta = random.NextDouble(),
- Name = " IllustrationPoint"
- };
+ double beta = random.NextDouble();
+ var hydraIllustrationPoint = new HydraSubMechanismIllustrationPoint("Illustration Point", beta);
var hydraIllustrationTreeNode = new IllustrationPointTreeNode(hydraIllustrationPoint);
double governingWindDirectionAngle = random.NextDouble();
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/IllustrationPointConverterTest.cs
===================================================================
diff -u -r0fd23ff8e68b5f0d18d344d104bc68216cb49b51 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/IllustrationPointConverterTest.cs (.../IllustrationPointConverterTest.cs) (revision 0fd23ff8e68b5f0d18d344d104bc68216cb49b51)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/IllustrationPointConverterTest.cs (.../IllustrationPointConverterTest.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -64,10 +64,10 @@
Name = "HydraRealizedStochast",
Realization = random.NextDouble()
};
- var subMechanismIllustrationPoint = new SubMechanismIllustrationPoint
+
+ double beta = random.NextDouble();
+ var subMechanismIllustrationPoint = new SubMechanismIllustrationPoint("name", beta)
{
- Beta = random.NextDouble(),
- Name = "name",
Results =
{
hydraIllustrationPointResult
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverterTest.cs
===================================================================
diff -u -r342ecb50ef0e54c04002a2643689c6d0108518c7 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverterTest.cs (.../WindDirectionClosingSituationIllustrationPointConverterTest.cs) (revision 342ecb50ef0e54c04002a2643689c6d0108518c7)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingSituationIllustrationPointConverterTest.cs (.../WindDirectionClosingSituationIllustrationPointConverterTest.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -44,7 +44,7 @@
TestDelegate call = () =>
WindDirectionClosingSituationIllustrationPointConverter.CreateWindDirectionClosingScenarioIllustrationPoint(
null,
- new HydraSubMechanismIllustrationPoint());
+ new HydraSubMechanismIllustrationPoint("name", 123));
// Assert
string paramName = Assert.Throws(call).ParamName;
@@ -92,10 +92,10 @@
Name = "HydraRealizedStochast",
Realization = random.NextDouble()
};
- var subMechanismIllustrationPoint = new HydraSubMechanismIllustrationPoint
+
+ double beta = random.NextDouble();
+ var subMechanismIllustrationPoint = new HydraSubMechanismIllustrationPoint("name", beta)
{
- Beta = random.NextDouble(),
- Name = "name",
Results =
{
hydraIllustrationPointResult
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/SubmechanismIllustrationPoint.cs
===================================================================
diff -u -r0fd23ff8e68b5f0d18d344d104bc68216cb49b51 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/SubmechanismIllustrationPoint.cs (.../SubmechanismIllustrationPoint.cs) (revision 0fd23ff8e68b5f0d18d344d104bc68216cb49b51)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Output/IllustrationPoints/SubmechanismIllustrationPoint.cs (.../SubmechanismIllustrationPoint.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Collections.Generic;
namespace Ringtoets.HydraRing.Calculation.Data.Output.IllustrationPoints
@@ -29,23 +30,44 @@
public class SubMechanismIllustrationPoint : IIllustrationPoint
{
///
+ /// Creates a new instance of .
+ ///
+ /// The name of the illustration point.
+ /// The beta value of the illustration point
+ /// Thrown when
+ /// is null.
+ public SubMechanismIllustrationPoint(string name, double beta)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ Name = name;
+ Beta = beta;
+ Stochasts = new List();
+ Results = new List();
+ }
+
+
+ ///
/// Gets or sets the name.
///
public string Name { get; set; }
///
/// Gets the stochasts that were realized.
///
- public ICollection Stochasts { get; } = new List();
+ public ICollection Stochasts { get; }
///
/// Gets the beta values that were realized.
///
- public double Beta { get; set; } = double.NaN;
+ public double Beta { get; set; }
///
/// Gets the output variables.
///
- public ICollection Results { get; } = new List();
+ public ICollection Results { get; }
}
}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs
===================================================================
diff -u -r342ecb50ef0e54c04002a2643689c6d0108518c7 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs (.../IllustrationPointsParser.cs) (revision 342ecb50ef0e54c04002a2643689c6d0108518c7)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Parsers/IllustrationPoints/IllustrationPointsParser.cs (.../IllustrationPointsParser.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -125,11 +125,11 @@
var rootIllustrationPoints = new Dictionary();
foreach (Tuple windDirectionClosingSituation in GetAllWindDirectionClosingSituationCombinations())
{
- var illustrationPoint = new SubMechanismIllustrationPoint
- {
- Name = subMechanisms.First().Value,
- Beta = subMechanismBetaValues.First().Value
- };
+ string submechanismIllustrationPointName = subMechanisms.First().Value;
+ double subMechanismIllustrationPointBeta = subMechanismBetaValues.First().Value;
+ var illustrationPoint = new SubMechanismIllustrationPoint(submechanismIllustrationPointName,
+ subMechanismIllustrationPointBeta);
+
AddRange(illustrationPoint.Results, subMechanismResults.First().Value);
AddRange(illustrationPoint.Stochasts, subMechanismStochasts.First().Value);
@@ -335,11 +335,12 @@
private IllustrationPointTreeNode BuildSubMechanism(Tuple windDirectionClosingSituation, int subMechanismId)
{
var dataKey = new ThreeKeyIndex(windDirectionClosingSituation.Item1, windDirectionClosingSituation.Item3, subMechanismId);
- var illustrationPoint = new SubMechanismIllustrationPoint
- {
- Name = subMechanisms[subMechanismId],
- Beta = subMechanismBetaValues[dataKey]
- };
+
+ string submechanismIllustrationPointName = subMechanisms[subMechanismId];
+ double subMechanismIllustrationPointBeta = subMechanismBetaValues[dataKey];
+ var illustrationPoint = new SubMechanismIllustrationPoint(submechanismIllustrationPointName,
+ subMechanismIllustrationPointBeta);
+
if (subMechanismStochasts.ContainsKey(dataKey))
{
AddRange(illustrationPoint.Stochasts, subMechanismStochasts[dataKey]);
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/IllustrationPoints/SubMechanismIllustrationPointTest.cs
===================================================================
diff -u -r0fd23ff8e68b5f0d18d344d104bc68216cb49b51 -r5f1c70d7eea83fca2ef6305a87a8098820ded1d9
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/IllustrationPoints/SubMechanismIllustrationPointTest.cs (.../SubMechanismIllustrationPointTest.cs) (revision 0fd23ff8e68b5f0d18d344d104bc68216cb49b51)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Output/IllustrationPoints/SubMechanismIllustrationPointTest.cs (.../SubMechanismIllustrationPointTest.cs) (revision 5f1c70d7eea83fca2ef6305a87a8098820ded1d9)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using NUnit.Framework;
using Ringtoets.HydraRing.Calculation.Data.Output.IllustrationPoints;
@@ -28,16 +29,33 @@
public class SubMechanismIllustrationPointTest
{
[Test]
+ public void Constructor_NameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new SubMechanismIllustrationPoint(null, 123);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("name", exception.ParamName);
+ }
+
+ [Test]
public void Constructor_WithParameter_ReturnsNewInstance()
{
+ // Setup
+ const string name = "Name";
+
+ var random = new Random(21);
+ double beta = random.NextDouble();
+
// Call
- var illustrationPoint = new SubMechanismIllustrationPoint();
+ var illustrationPoint = new SubMechanismIllustrationPoint(name, beta);
// Assert
Assert.IsInstanceOf(illustrationPoint);
Assert.IsEmpty(illustrationPoint.Stochasts);
Assert.IsEmpty(illustrationPoint.Results);
- Assert.IsNaN(illustrationPoint.Beta);
+ Assert.AreEqual(beta, illustrationPoint.Beta);
}
}
}
\ No newline at end of file