Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInput.cs (revision 7f519b5cf938d07241f9cbb481a76718e11e56c1) @@ -0,0 +1,46 @@ +// 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. + +namespace Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics +{ + /// + /// Container of all data necessary for performing a dunes boundary conditions calculation via Hydra-Ring. + /// + public class DunesBoundaryConditionsCalculationInput : AssessmentLevelCalculationInput + { + /// + /// Creates a new instance of the class. + /// + /// The id of the section. + /// The id of the hydraulic station. + /// The norm. + public DunesBoundaryConditionsCalculationInput(int sectionId, long hydraulicBoundaryLocationId, double norm) + : base(sectionId, hydraulicBoundaryLocationId, norm) {} + + public override HydraRingFailureMechanismType FailureMechanismType + { + get + { + return HydraRingFailureMechanismType.DunesBoundaryConditions; + } + } + } +} Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj =================================================================== diff -u -rcda954dea54f724a567a847c271370dd03b72746 -r7f519b5cf938d07241f9cbb481a76718e11e56c1 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision cda954dea54f724a567a847c271370dd03b72746) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 7f519b5cf938d07241f9cbb481a76718e11e56c1) @@ -69,6 +69,7 @@ + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs =================================================================== diff -u -r716dae0b1b95fb38ad2aa6630f9ba694aa4631b2 -r7f519b5cf938d07241f9cbb481a76718e11e56c1 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs (.../AssessmentLevelCalculationInputTest.cs) (revision 716dae0b1b95fb38ad2aa6630f9ba694aa4631b2) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs (.../AssessmentLevelCalculationInputTest.cs) (revision 7f519b5cf938d07241f9cbb481a76718e11e56c1) @@ -59,14 +59,14 @@ Assert.IsNaN(section.SectionLength); Assert.IsNaN(section.CrossSectionNormal); - var assessmentLevelVariable = assessmentLevelCalculationInput.Variables.First(); - Assert.AreEqual(26, assessmentLevelVariable.VariableId); - Assert.AreEqual(HydraRingDistributionType.Deterministic, assessmentLevelVariable.DistributionType); - Assert.AreEqual(0.0, assessmentLevelVariable.Value); - Assert.AreEqual(HydraRingDeviationType.Standard, assessmentLevelVariable.DeviationType); - Assert.IsNaN(assessmentLevelVariable.Mean); - Assert.IsNaN(assessmentLevelVariable.Variability); - Assert.IsNaN(assessmentLevelVariable.Shift); + var waterLevelVariable = assessmentLevelCalculationInput.Variables.First(); + Assert.AreEqual(26, waterLevelVariable.VariableId); + Assert.AreEqual(HydraRingDistributionType.Deterministic, waterLevelVariable.DistributionType); + Assert.AreEqual(0.0, waterLevelVariable.Value); + Assert.AreEqual(HydraRingDeviationType.Standard, waterLevelVariable.DeviationType); + Assert.IsNaN(waterLevelVariable.Mean); + Assert.IsNaN(waterLevelVariable.Variability); + Assert.IsNaN(waterLevelVariable.Shift); } [Test] Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInputTest.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInputTest.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/DunesBoundaryConditionsCalculationInputTest.cs (revision 7f519b5cf938d07241f9cbb481a76718e11e56c1) @@ -0,0 +1,82 @@ +// 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 System.Linq; +using Core.Common.Utils; +using NUnit.Framework; +using Ringtoets.HydraRing.Calculation.Data; +using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics; + +namespace Ringtoets.HydraRing.Calculation.Test.Data.Input.Hydraulics +{ + [TestFixture] + public class DunesBoundaryConditionsCalculationInputTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Setup + const int norm = 10000; + const int sectionId = 1; + const long hydraulicBoundaryLocationId = 1234; + + // Call + var dunesBoundaryConditionsCalculationInput = new DunesBoundaryConditionsCalculationInput(sectionId, hydraulicBoundaryLocationId, norm); + + // Assert + double expectedBeta = StatisticsConverter.NormToBeta(norm); + Assert.AreEqual(HydraRingFailureMechanismType.DunesBoundaryConditions, dunesBoundaryConditionsCalculationInput.FailureMechanismType); + Assert.AreEqual(9, dunesBoundaryConditionsCalculationInput.CalculationTypeId); + Assert.AreEqual(26, dunesBoundaryConditionsCalculationInput.VariableId); + Assert.AreEqual(hydraulicBoundaryLocationId, dunesBoundaryConditionsCalculationInput.HydraulicBoundaryLocationId); + Assert.IsNotNull(dunesBoundaryConditionsCalculationInput.Section); + Assert.AreEqual(1, dunesBoundaryConditionsCalculationInput.Variables.Count()); + CollectionAssert.IsEmpty(dunesBoundaryConditionsCalculationInput.ProfilePoints); + CollectionAssert.IsEmpty(dunesBoundaryConditionsCalculationInput.ForelandsPoints); + Assert.IsNull(dunesBoundaryConditionsCalculationInput.BreakWater); + Assert.AreEqual(expectedBeta, dunesBoundaryConditionsCalculationInput.Beta); + + var section = dunesBoundaryConditionsCalculationInput.Section; + Assert.AreEqual(sectionId, section.SectionId); + Assert.IsNaN(section.SectionLength); + Assert.IsNaN(section.CrossSectionNormal); + + var waterLevelVariable = dunesBoundaryConditionsCalculationInput.Variables.First(); + Assert.AreEqual(26, waterLevelVariable.VariableId); + Assert.AreEqual(HydraRingDistributionType.Deterministic, waterLevelVariable.DistributionType); + Assert.AreEqual(0.0, waterLevelVariable.Value); + Assert.AreEqual(HydraRingDeviationType.Standard, waterLevelVariable.DeviationType); + Assert.IsNaN(waterLevelVariable.Mean); + Assert.IsNaN(waterLevelVariable.Variability); + Assert.IsNaN(waterLevelVariable.Shift); + } + + [Test] + public void GetSubMechanismModelId_ReturnsExpectedValues() + { + // Call + var dunesBoundaryConditionsCalculationInput = new DunesBoundaryConditionsCalculationInput(1, 1, 2.2); + + // Assert + Assert.IsNull(dunesBoundaryConditionsCalculationInput.GetSubMechanismModelId(1)); + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj =================================================================== diff -u -r28f667e2754b205e3e25fb7d4f3774003575faa4 -r7f519b5cf938d07241f9cbb481a76718e11e56c1 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 28f667e2754b205e3e25fb7d4f3774003575faa4) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 7f519b5cf938d07241f9cbb481a76718e11e56c1) @@ -66,6 +66,7 @@ +