Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPoint.cs
===================================================================
diff -u -rf1e6b4ad5dddc6e771288f17a0b619d6dd23ec07 -rb526c46d60f56864ef0da2b8dd2b7442fe42c997
--- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPoint.cs (.../WindDirectionClosingScenarioIllustrationPoint.cs) (revision f1e6b4ad5dddc6e771288f17a0b619d6dd23ec07)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPoint.cs (.../WindDirectionClosingScenarioIllustrationPoint.cs) (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -33,34 +33,34 @@
/// Creates an instance of .
///
/// The wind direction.
- /// The closing situation.
+ /// The closing situation.
/// The illustrationPoint.
public WindDirectionClosingScenarioIllustrationPoint(WindDirection windDirection,
- string closingSituation,
+ string closingScenario,
IllustrationPoint illustrationPoint)
{
if (windDirection == null)
{
throw new ArgumentNullException(nameof(windDirection));
}
- if (closingSituation == null)
+ if (closingScenario == null)
{
- throw new ArgumentNullException(nameof(closingSituation));
+ throw new ArgumentNullException(nameof(closingScenario));
}
if (illustrationPoint == null)
{
throw new ArgumentNullException(nameof(illustrationPoint));
}
WindDirection = windDirection;
- ClosingSituation = closingSituation;
+ ClosingScenario = closingScenario;
IllustrationPoint = illustrationPoint;
}
///
/// Gets the closing situation.
///
- public string ClosingSituation { get; }
+ public string ClosingScenario { get; }
///
/// Gets the wind direction.
Index: Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverter.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverter.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverter.cs (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -0,0 +1,71 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Hydraulics.IllustrationPoints;
+using Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints;
+using HydraWindDirection = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.WindDirection;
+using WindDirection = Ringtoets.Common.Data.Hydraulics.IllustrationPoints.WindDirection;
+
+namespace Ringtoets.Common.Service.IllustrationPoints
+{
+ ///
+ ///
+ ///
+ public static class WindDirectionClosingScenarioIllustrationPointConverter
+ {
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// Thrown when any of:
+ ///
+ /// - ,
+ /// - ,
+ /// - ,
+ ///
+ ///
are null.
+ /// Thrown when
+ /// is not in the interval of [0, 360].
+ public static WindDirectionClosingScenarioIllustrationPoint CreateWindDirectionClosingScenarioIllustrationPoint(
+ WindDirectionClosingSituation hydraWindDirectionClosingSituation,
+ SubMechanismIllustrationPoint hydraSubMechanismIllustrationPoint)
+ {
+ if (hydraWindDirectionClosingSituation == null)
+ {
+ throw new ArgumentNullException(nameof(hydraWindDirectionClosingSituation));
+ }
+ if (hydraSubMechanismIllustrationPoint == null)
+ {
+ throw new ArgumentNullException(nameof(hydraSubMechanismIllustrationPoint));
+ }
+
+ WindDirection windDirection = WindDirectionConverter.CreateWindDirection(hydraWindDirectionClosingSituation.WindDirection);
+ IllustrationPoint illustrationPoint = IllustrationPointConverter.CreateIllustrationPoint(hydraSubMechanismIllustrationPoint);
+
+ return new WindDirectionClosingScenarioIllustrationPoint(windDirection,
+ hydraWindDirectionClosingSituation.ClosingSituation,
+ illustrationPoint);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj
===================================================================
diff -u -rd5f48f10a49754d2b135f5e0208b933a38cb3e00 -rb526c46d60f56864ef0da2b8dd2b7442fe42c997
--- Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision d5f48f10a49754d2b135f5e0208b933a38cb3e00)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -52,6 +52,7 @@
+
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointTest.cs
===================================================================
diff -u -rf1e6b4ad5dddc6e771288f17a0b619d6dd23ec07 -rb526c46d60f56864ef0da2b8dd2b7442fe42c997
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointTest.cs (.../WindDirectionClosingScenarioIllustrationPointTest.cs) (revision f1e6b4ad5dddc6e771288f17a0b619d6dd23ec07)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointTest.cs (.../WindDirectionClosingScenarioIllustrationPointTest.cs) (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -57,7 +57,7 @@
// Assert
var exception = Assert.Throws(call);
- Assert.AreEqual("closingSituation", exception.ParamName);
+ Assert.AreEqual("closingScenario", exception.ParamName);
}
[Test]
@@ -79,16 +79,16 @@
public void Constructor_ValidArguments_ReturnsExpectedProperties()
{
// Setup
- const string closingSituation = "closing situation";
+ const string closingScenario = "closing scenario";
var windDirection = new TestWindDirection();
var illustrationPoint = new TestIllustrationPoint();
// Call
var windDirectionClosingScenarioIllustrationPoint =
- new WindDirectionClosingScenarioIllustrationPoint(windDirection, closingSituation, illustrationPoint);
+ new WindDirectionClosingScenarioIllustrationPoint(windDirection, closingScenario, illustrationPoint);
// Assert
- Assert.AreEqual(closingSituation, windDirectionClosingScenarioIllustrationPoint.ClosingSituation);
+ Assert.AreEqual(closingScenario, windDirectionClosingScenarioIllustrationPoint.ClosingScenario);
Assert.AreSame(windDirection, windDirectionClosingScenarioIllustrationPoint.WindDirection);
Assert.AreSame(illustrationPoint, windDirectionClosingScenarioIllustrationPoint.IllustrationPoint);
}
Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/IllustrationPoints/TestIllustrationPoint.cs
===================================================================
diff -u -rf1e6b4ad5dddc6e771288f17a0b619d6dd23ec07 -rb526c46d60f56864ef0da2b8dd2b7442fe42c997
--- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/IllustrationPoints/TestIllustrationPoint.cs (.../TestIllustrationPoint.cs) (revision f1e6b4ad5dddc6e771288f17a0b619d6dd23ec07)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/IllustrationPoints/TestIllustrationPoint.cs (.../TestIllustrationPoint.cs) (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -32,7 +32,7 @@
///
/// Creates a .
///
- public TestIllustrationPoint()
+ public TestIllustrationPoint()
: base("Illustration Point", Enumerable.Empty(), Enumerable.Empty(), 3.14) {}
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverterTest.cs
===================================================================
diff -u
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverterTest.cs (revision 0)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/IllustrationPoints/WindDirectionClosingScenarioIllustrationPointConverterTest.cs (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -0,0 +1,138 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Ringtoets.Common.Data.Hydraulics.IllustrationPoints;
+using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.Common.Service.IllustrationPoints;
+using HydraWindDirection = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.WindDirection;
+using HydraSubMechanismIllustrationPoint = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.SubMechanismIllustrationPoint;
+using HydraWindDirectionClosingSituation = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.WindDirectionClosingSituation;
+using HydraIllustrationPointResult = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.IllustrationPointResult;
+using HydraRealizedStochast = Ringtoets.HydraRing.Calculation.Parsers.IllustrationPoints.RealizedStochast;
+
+namespace Ringtoets.Common.Service.Test.IllustrationPoints
+{
+ [TestFixture]
+ public class WindDirectionClosingScenarioIllustrationPointConverterTest
+ {
+ [Test]
+ public void CreateWindDirectionClosingScenarioIllustrationPoint_HydraWindDirectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () =>
+ WindDirectionClosingScenarioIllustrationPointConverter.CreateWindDirectionClosingScenarioIllustrationPoint(
+ null,
+ new HydraSubMechanismIllustrationPoint());
+
+ // Assert
+ string paramName = Assert.Throws(call).ParamName;
+ Assert.AreEqual("hydraWindDirectionClosingSituation", paramName);
+ }
+
+ [Test]
+ public void CreateWindDirectionClosingScenarioIllustrationPoint_SubMechanismIllustrationPointNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var hydraWindDirection = new HydraWindDirection();
+
+ // Call
+ TestDelegate call = () =>
+ WindDirectionClosingScenarioIllustrationPointConverter.CreateWindDirectionClosingScenarioIllustrationPoint(
+ new HydraWindDirectionClosingSituation(hydraWindDirection, string.Empty),
+ null);
+
+ // Assert
+ string paramName = Assert.Throws(call).ParamName;
+ Assert.AreEqual("hydraSubMechanismIllustrationPoint", paramName);
+ }
+
+ [Test]
+ public void CreateWindDirectionClosingScenarioIllustrationPoint_ValidArguments_ExpectedProperties()
+ {
+ // Setup
+ const string closingScenario = "closing scenario";
+
+ var random = new Random(21);
+ var hydraWindDirection = new HydraWindDirection
+ {
+ Angle = random.GetFromRange(0.0, 360.0),
+ Name = "Name"
+ };
+ var windDirectionClosingSituation = new HydraWindDirectionClosingSituation(hydraWindDirection, closingScenario);
+
+ var hydraIllustrationPointResult = new HydraIllustrationPointResult
+ {
+ Description = "HydraIllustrationPointResult",
+ Value = random.NextDouble()
+ };
+ var hydraRealizedStochast = new HydraRealizedStochast
+ {
+ Alpha = random.NextDouble(),
+ Duration = random.NextDouble(),
+ Name = "HydraRealizedStochast",
+ Realization = random.NextDouble()
+ };
+ var subMechanismIllustrationPoint = new HydraSubMechanismIllustrationPoint
+ {
+ Beta = random.NextDouble(),
+ Name = "name",
+ Results =
+ {
+ hydraIllustrationPointResult
+ },
+ Stochasts =
+ {
+ hydraRealizedStochast
+ }
+ };
+
+ // Call
+ WindDirectionClosingScenarioIllustrationPoint combination =
+ WindDirectionClosingScenarioIllustrationPointConverter.CreateWindDirectionClosingScenarioIllustrationPoint(windDirectionClosingSituation, subMechanismIllustrationPoint);
+
+ // Assert
+ WindDirection windDirection = combination.WindDirection;
+ Assert.AreEqual(hydraWindDirection.Angle, windDirection.Angle, windDirection.Angle.GetAccuracy());
+ Assert.AreEqual(hydraWindDirection.Name, windDirection.Name);
+
+ Assert.AreEqual(closingScenario, combination.ClosingScenario);
+
+ IllustrationPoint illustrationPoint = combination.IllustrationPoint;
+ Assert.AreEqual(subMechanismIllustrationPoint.Beta, illustrationPoint.Beta, illustrationPoint.Beta.GetAccuracy());
+ Assert.AreEqual(subMechanismIllustrationPoint.Name, illustrationPoint.Name);
+
+ IllustrationPointResult illustrationPointResult = illustrationPoint.IllustrationPointResults.Single();
+ Assert.AreEqual(hydraIllustrationPointResult.Description, illustrationPointResult.Description);
+ Assert.AreEqual(hydraIllustrationPointResult.Value, illustrationPointResult.Value, illustrationPointResult.Value.GetAccuracy());
+
+ RealizedStochast stochast = illustrationPoint.Stochasts.Single();
+ Assert.AreEqual(hydraRealizedStochast.Alpha, stochast.Alpha, stochast.Alpha.GetAccuracy());
+ int duration = Convert.ToInt32(hydraRealizedStochast.Duration);
+ Assert.AreEqual(duration, stochast.Duration);
+ Assert.AreEqual(hydraRealizedStochast.Name, stochast.Name);
+ Assert.AreEqual(hydraRealizedStochast.Realization, stochast.Realization, stochast.Realization.GetAccuracy());
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj
===================================================================
diff -u -rd5f48f10a49754d2b135f5e0208b933a38cb3e00 -rb526c46d60f56864ef0da2b8dd2b7442fe42c997
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj (.../Ringtoets.Common.Service.Test.csproj) (revision d5f48f10a49754d2b135f5e0208b933a38cb3e00)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/Ringtoets.Common.Service.Test.csproj (.../Ringtoets.Common.Service.Test.csproj) (revision b526c46d60f56864ef0da2b8dd2b7442fe42c997)
@@ -69,6 +69,7 @@
+