Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingCalculationData.cs
===================================================================
diff -u -rdd610d07aa21d3a9b5dcdaa7013aaab0dce29143 -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingCalculationData.cs (.../HydraRingCalculationData.cs) (revision dd610d07aa21d3a9b5dcdaa7013aaab0dce29143)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingCalculationData.cs (.../HydraRingCalculationData.cs) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -68,6 +68,17 @@
}
///
+ /// Gets the profile points to use during the calculation.
+ ///
+ public virtual IEnumerable ProfilePoints
+ {
+ get
+ {
+ yield break;
+ }
+ }
+
+ ///
/// Gets the target reliability index to use during the calculation.
///
/// Only relevant for type 2 computations.
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingConfiguration.cs
===================================================================
diff -u -r2c6b53332f530b9060259e3d821fc78e204245db -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingConfiguration.cs (.../HydraRingConfiguration.cs) (revision 2c6b53332f530b9060259e3d821fc78e204245db)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingConfiguration.cs (.../HydraRingConfiguration.cs) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -23,6 +23,7 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Globalization;
+using System.Linq;
using Ringtoets.HydraRing.Calculation.Settings;
using Ringtoets.HydraRing.Calculation.Types;
@@ -105,6 +106,7 @@
InitializeDesignTablesConfiguration(configurationDictionary);
InitializeNumericsConfiguration(configurationDictionary);
InitializeVariableDatasConfiguration(configurationDictionary);
+ InitializeCalculationProfiles(configurationDictionary);
InitializeAreasConfiguration(configurationDictionary);
InitializeProjectsConfiguration(configurationDictionary);
@@ -398,6 +400,40 @@
configurationDictionary["VariableDatas"] = orderDictionaries;
}
+ private void InitializeCalculationProfiles(Dictionary> configurationDictionary)
+ {
+ var orderDictionaries = new List();
+
+ foreach (var hydraRingCalculation in hydraRingCalculations)
+ {
+ for (var i = 0; i < hydraRingCalculation.ProfilePoints.Count(); i++)
+ {
+ var hydraRingProfilePoint = hydraRingCalculation.ProfilePoints.ElementAt(i);
+
+ orderDictionaries.Add(new OrderedDictionary
+ {
+ {
+ "SectionId", 999 // TODO: Dike section integration
+ },
+ {
+ "SequenceNumber", i
+ },
+ {
+ "XCoordinate", GetHydraRingValue(hydraRingProfilePoint.X)
+ },
+ {
+ "ZCoordinate", GetHydraRingValue(hydraRingProfilePoint.Z)
+ },
+ {
+ "Roughness", GetHydraRingValue(hydraRingProfilePoint.Roughness)
+ }
+ });
+ }
+ }
+
+ configurationDictionary["CalculationProfiles"] = orderDictionaries;
+ }
+
private void InitializeAreasConfiguration(Dictionary> configurationDictionary)
{
configurationDictionary["Areas"] = new List
@@ -446,6 +482,8 @@
if (configurationDictionary[tableName].Count <= 0)
{
+ lines.Add("");
+
continue;
}
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingProfilePoint.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingProfilePoint.cs (revision 0)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Common/HydraRingProfilePoint.cs (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -0,0 +1,55 @@
+namespace Ringtoets.HydraRing.Calculation.Common
+{
+ ///
+ /// Container for Hydra-Ring profile point related data.
+ ///
+ public class HydraRingProfilePoint
+ {
+ private readonly double x;
+ private readonly double z;
+
+ ///
+ /// Creates a new instance of the class.
+ ///
+ /// The x coordinate.
+ /// The z coordinate.
+ public HydraRingProfilePoint(double x, double z)
+ {
+ this.x = x;
+ this.z = z;
+ }
+
+ ///
+ /// Gets the x coordinate.
+ ///
+ public double X
+ {
+ get
+ {
+ return x;
+ }
+ }
+
+ ///
+ /// Gets the z coordinate.
+ ///
+ public double Z
+ {
+ get
+ {
+ return z;
+ }
+ }
+
+ ///
+ /// Gets the roughness.
+ ///
+ public virtual double Roughness
+ {
+ get
+ {
+ return 1.0;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj
===================================================================
diff -u -r75310fcf4912fed7da59caa53a101992b048969e -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 75310fcf4912fed7da59caa53a101992b048969e)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -39,6 +39,7 @@
Properties\GlobalAssembly.cs
+
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingCalculationDataTest.cs
===================================================================
diff -u -r2c6b53332f530b9060259e3d821fc78e204245db -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingCalculationDataTest.cs (.../HydraRingCalculationDataTest.cs) (revision 2c6b53332f530b9060259e3d821fc78e204245db)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingCalculationDataTest.cs (.../HydraRingCalculationDataTest.cs) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -19,7 +19,6 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
-using System.Linq;
using NUnit.Framework;
using Ringtoets.HydraRing.Calculation.Common;
using Ringtoets.HydraRing.Calculation.Types;
@@ -38,7 +37,8 @@
// Assert
Assert.AreEqual(1, hydraRingCalculationData.HydraulicBoundaryLocationId);
Assert.AreEqual(HydraRingFailureMechanismType.QVariant, hydraRingCalculationData.FailureMechanismType);
- Assert.IsTrue(!hydraRingCalculationData.Variables.Any());
+ CollectionAssert.IsEmpty(hydraRingCalculationData.Variables);
+ CollectionAssert.IsEmpty(hydraRingCalculationData.ProfilePoints);
Assert.IsNaN(hydraRingCalculationData.Beta);
}
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingConfigurationTest.cs
===================================================================
diff -u -r2c6b53332f530b9060259e3d821fc78e204245db -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingConfigurationTest.cs (.../HydraRingConfigurationTest.cs) (revision 2c6b53332f530b9060259e3d821fc78e204245db)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingConfigurationTest.cs (.../HydraRingConfigurationTest.cs) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -63,6 +63,8 @@
"DELETE FROM [VariableDatas];" + Environment.NewLine +
"INSERT INTO [VariableDatas] VALUES (999, 1, NULL, NULL, 26, 0, 0, NULL, NULL, NULL, NULL, 0, NULL, 300);" + Environment.NewLine +
Environment.NewLine +
+ "DELETE FROM [CalculationProfiles];" + Environment.NewLine +
+ Environment.NewLine +
"DELETE FROM [Areas];" + Environment.NewLine +
"INSERT INTO [Areas] VALUES (1, '1', 'Nederland');" + Environment.NewLine +
Environment.NewLine +
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingProfilePointTest.cs
===================================================================
diff -u
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingProfilePointTest.cs (revision 0)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Common/HydraRingProfilePointTest.cs (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -0,0 +1,42 @@
+// Copyright (C) Stichting Deltares 2016. 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 NUnit.Framework;
+using Ringtoets.HydraRing.Calculation.Common;
+
+namespace Ringtoets.HydraRing.Calculation.Test.Common
+{
+ [TestFixture]
+ public class HydraRingProfilePointTest
+ {
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Call
+ var hydraRingProfilePoint = new HydraRingProfilePoint(1.1, 2.2);
+
+ // Assert
+ Assert.AreEqual(1.1, hydraRingProfilePoint.X);
+ Assert.AreEqual(2.2, hydraRingProfilePoint.Z);
+ Assert.AreEqual(1.0, hydraRingProfilePoint.Roughness);
+ }
+ }
+}
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj
===================================================================
diff -u -r2c6b53332f530b9060259e3d821fc78e204245db -r6241d8b1d8a7329857bc6dc8ef1648893f8365dd
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 2c6b53332f530b9060259e3d821fc78e204245db)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 6241d8b1d8a7329857bc6dc8ef1648893f8365dd)
@@ -50,6 +50,7 @@
+