Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineInput.cs =================================================================== diff -u -r9dd80fda99e5d5b90931986f959b53c52da150b1 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineInput.cs (.../WaveConditionsCosineInput.cs) (revision 9dd80fda99e5d5b90931986f959b53c52da150b1) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsCosineInput.cs (.../WaveConditionsCosineInput.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; + namespace Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions { /// @@ -32,7 +34,12 @@ /// The id of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. - public WaveConditionsCosineInput(int sectionId, long hydraulicBoundaryLocationId, double norm) : base(sectionId, hydraulicBoundaryLocationId, norm) {} + /// The foreland points to use during the calculation. + /// The break water to use during the calculation. + public WaveConditionsCosineInput(int sectionId, long hydraulicBoundaryLocationId, double norm, + IEnumerable hydraRingForelandPoints, + HydraRingBreakWater hydraRingBreakWater) + : base(sectionId, hydraulicBoundaryLocationId, norm, hydraRingForelandPoints, hydraRingBreakWater) {} public override int? GetSubMechanismModelId(int subMechanismId) { Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsInput.cs =================================================================== diff -u -r3e94a6380eff6262e82341b80285ca1508ceafd9 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsInput.cs (.../WaveConditionsInput.cs) (revision 3e94a6380eff6262e82341b80285ca1508ceafd9) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsInput.cs (.../WaveConditionsInput.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using Core.Common.Utils; namespace Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions @@ -29,6 +30,8 @@ public abstract class WaveConditionsInput : HydraRingCalculationInput { private readonly double beta; + private readonly IEnumerable forelandPoints; + private readonly HydraRingBreakWater breakWater; private readonly HydraRingSection section; /// @@ -37,10 +40,17 @@ /// The id of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. + /// The foreland points to use during the calculation. + /// The break water to use during the calculation. /// As a part of the constructor, the is automatically converted into a reliability index. - protected WaveConditionsInput(int sectionId, long hydraulicBoundaryLocationId, double norm) : base(hydraulicBoundaryLocationId) + protected WaveConditionsInput(int sectionId, long hydraulicBoundaryLocationId, double norm, + IEnumerable hydraRingForelandPoints, + HydraRingBreakWater hydraRingBreakWater) + : base(hydraulicBoundaryLocationId) { beta = StatisticsConverter.NormToBeta(norm); + forelandPoints = hydraRingForelandPoints; + breakWater = hydraRingBreakWater; section = new HydraRingSection(sectionId, double.NaN, double.NaN); } @@ -76,6 +86,22 @@ } } + public override IEnumerable ForelandsPoints + { + get + { + return forelandPoints; + } + } + + public override HydraRingBreakWater BreakWater + { + get + { + return breakWater; + } + } + public override double Beta { get Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidInput.cs =================================================================== diff -u -r9dd80fda99e5d5b90931986f959b53c52da150b1 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidInput.cs (.../WaveConditionsTrapezoidInput.cs) (revision 9dd80fda99e5d5b90931986f959b53c52da150b1) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/WaveConditions/WaveConditionsTrapezoidInput.cs (.../WaveConditionsTrapezoidInput.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; + namespace Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions { /// @@ -32,7 +34,12 @@ /// The id of the section to use during the calculation. /// The id of the hydraulic station to use during the calculation. /// The norm to use during the calculation. - public WaveConditionsTrapezoidInput(int sectionId, long hydraulicBoundaryLocationId, double norm) : base(sectionId, hydraulicBoundaryLocationId, norm) {} + /// The foreland points to use during the calculation. + /// The break water to use during the calculation. + public WaveConditionsTrapezoidInput(int sectionId, long hydraulicBoundaryLocationId, double norm, + IEnumerable hydraRingForelandPoints, + HydraRingBreakWater hydraRingBreakWater) + : base(sectionId, hydraulicBoundaryLocationId, norm, hydraRingForelandPoints, hydraRingBreakWater) {} public override int? GetSubMechanismModelId(int subMechanismId) { Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineInputTest.cs =================================================================== diff -u -r9dd80fda99e5d5b90931986f959b53c52da150b1 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineInputTest.cs (.../WaveConditionsCosineInputTest.cs) (revision 9dd80fda99e5d5b90931986f959b53c52da150b1) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsCosineInputTest.cs (.../WaveConditionsCosineInputTest.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Linq; using Core.Common.Utils; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; @@ -36,9 +37,12 @@ const int norm = 111; const int sectionId = 2; const int hydraulicBoundaryLocationId = 3000; + var forelandPoints = Enumerable.Empty(); + var breakWater = new HydraRingBreakWater(1, 2.2); // Call - var waveConditionsCosineInput = new WaveConditionsCosineInput(sectionId, hydraulicBoundaryLocationId, norm); + var waveConditionsCosineInput = new WaveConditionsCosineInput(sectionId, hydraulicBoundaryLocationId, norm, + forelandPoints, breakWater); // Assert const int expectedCalculationTypeId = 6; @@ -51,6 +55,8 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsCosineInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsCosineInput.Section); Assert.AreEqual(sectionId, waveConditionsCosineInput.Section.SectionId); + Assert.AreSame(forelandPoints, waveConditionsCosineInput.ForelandsPoints); + Assert.AreSame(breakWater, waveConditionsCosineInput.BreakWater); Assert.AreEqual(expectedBeta, waveConditionsCosineInput.Beta); } @@ -62,7 +68,9 @@ public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) { // Call - var waveConditionsCosineInput = new WaveConditionsCosineInput(1, 1000, 111); + var waveConditionsCosineInput = new WaveConditionsCosineInput(1, 1000, 111, + Enumerable.Empty(), + new HydraRingBreakWater(1, 2.2)); // Assert Assert.AreEqual(expectedSubMechanismModelId, waveConditionsCosineInput.GetSubMechanismModelId(subMechanismModelId)); Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsInputTest.cs =================================================================== diff -u -r3e94a6380eff6262e82341b80285ca1508ceafd9 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsInputTest.cs (.../WaveConditionsInputTest.cs) (revision 3e94a6380eff6262e82341b80285ca1508ceafd9) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsInputTest.cs (.../WaveConditionsInputTest.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; +using System.Linq; using Core.Common.Utils; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; @@ -37,9 +39,12 @@ const int norm = 111; const int sectionId = 2; const int hydraulicBoundaryLocationId = 3000; + var forelandPoints = Enumerable.Empty(); + var breakWater = new HydraRingBreakWater(1, 2.2); // Call - var waveConditionsInput = new WaveConditionsInputImplementation(sectionId, hydraulicBoundaryLocationId, norm); + var waveConditionsInput = new WaveConditionsInputImplementation(sectionId, hydraulicBoundaryLocationId, norm, + forelandPoints, breakWater); // Assert const int expectedCalculationTypeId = 6; @@ -52,12 +57,17 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsInput.Section); Assert.AreEqual(sectionId, waveConditionsInput.Section.SectionId); + Assert.AreSame(forelandPoints, waveConditionsInput.ForelandsPoints); + Assert.AreSame(breakWater, waveConditionsInput.BreakWater); Assert.AreEqual(expectedBeta, waveConditionsInput.Beta); } private class WaveConditionsInputImplementation : WaveConditionsInput { - public WaveConditionsInputImplementation(int sectionId, long hydraulicBoundaryLocationId, double norm) : base(sectionId, hydraulicBoundaryLocationId, norm) {} + public WaveConditionsInputImplementation(int sectionId, long hydraulicBoundaryLocationId, double norm, + IEnumerable forelandPoints, + HydraRingBreakWater breakWater) + : base(sectionId, hydraulicBoundaryLocationId, norm, forelandPoints, breakWater) {} } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidInputTest.cs =================================================================== diff -u -r9dd80fda99e5d5b90931986f959b53c52da150b1 -r4570069d5b3d1ff54d5a2bfa6a14d083ac1450df --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidInputTest.cs (.../WaveConditionsTrapezoidInputTest.cs) (revision 9dd80fda99e5d5b90931986f959b53c52da150b1) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/WaveConditions/WaveConditionsTrapezoidInputTest.cs (.../WaveConditionsTrapezoidInputTest.cs) (revision 4570069d5b3d1ff54d5a2bfa6a14d083ac1450df) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Linq; using Core.Common.Utils; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; @@ -36,9 +37,12 @@ const int norm = 111; const int sectionId = 2; const int hydraulicBoundaryLocationId = 3000; + var forelandPoints = Enumerable.Empty(); + var breakWater = new HydraRingBreakWater(1, 2.2); // Call - var waveConditionsTrapezoidInput = new WaveConditionsTrapezoidInput(sectionId, hydraulicBoundaryLocationId, norm); + var waveConditionsTrapezoidInput = new WaveConditionsTrapezoidInput(sectionId, hydraulicBoundaryLocationId, norm, + forelandPoints, breakWater); // Assert const int expectedCalculationTypeId = 6; @@ -51,6 +55,8 @@ Assert.AreEqual(hydraulicBoundaryLocationId, waveConditionsTrapezoidInput.HydraulicBoundaryLocationId); Assert.IsNotNull(waveConditionsTrapezoidInput.Section); Assert.AreEqual(sectionId, waveConditionsTrapezoidInput.Section.SectionId); + Assert.AreSame(forelandPoints, waveConditionsTrapezoidInput.ForelandsPoints); + Assert.AreSame(breakWater, waveConditionsTrapezoidInput.BreakWater); Assert.AreEqual(expectedBeta, waveConditionsTrapezoidInput.Beta); } @@ -62,7 +68,9 @@ public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) { // Call - var waveConditionsTrapezoidInput = new WaveConditionsTrapezoidInput(1, 1000, 111); + var waveConditionsTrapezoidInput = new WaveConditionsTrapezoidInput(1, 1000, 111, + Enumerable.Empty(), + new HydraRingBreakWater(1, 2.2)); // Assert Assert.AreEqual(expectedSubMechanismModelId, waveConditionsTrapezoidInput.GetSubMechanismModelId(subMechanismModelId));