Fisheye: Tag 860a38c705705658e91b43c1e813b63205bbbfa8 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingCalculation.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingCalculationInput.cs (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -0,0 +1,113 @@ +// 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.Collections.Generic; +using Ringtoets.HydraRing.Calculation.Data; + +namespace Ringtoets.HydraRing.Calculation.Base +{ + /// + /// Container of all data necessary for performing a Hydra-Ring calculation. + /// + public abstract class HydraRingCalculationInput + { + private readonly int hydraulicBoundaryLocationId; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + protected HydraRingCalculationInput(int hydraulicBoundaryLocationId) + { + this.hydraulicBoundaryLocationId = hydraulicBoundaryLocationId; + } + + /// + /// Gets the . + /// + public abstract HydraRingFailureMechanismType FailureMechanismType { get; } + + /// + /// Gets the id corresponding to the type of calculation that should be performed. + /// + public abstract int CalculationTypeId { get; } + + /// + /// Gets the id of the hydraulic station to use during the calculation. + /// + public int HydraulicBoundaryLocationId + { + get + { + return hydraulicBoundaryLocationId; + } + } + + /// + /// Gets the dike section to perform the calculation for. + /// + public abstract HydraRingDikeSection DikeSection { get; } + + /// + /// Gets the variables to use during the calculation. + /// + public virtual IEnumerable Variables + { + get + { + yield break; + } + } + + /// + /// 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. + public virtual double Beta + { + get + { + return double.NaN; + } + } + + /// + /// Gets the sub mechanism model id corresponding to the provided sub mechanism id. + /// + /// The sub mechanim id to get the sub mechanism model id for. + /// The corresponding sub mechanism model id or null otherwise. + public virtual int? GetSubMechanismModelId(int subMechanismId) + { + return null; + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingConfiguration.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingConfiguration.cs (.../HydraRingConfiguration.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/HydraRingConfiguration.cs (.../HydraRingConfiguration.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -58,7 +58,7 @@ private const double defaultHydraRingValue = 0.0; private readonly string ringId; - private readonly IList hydraRingCalculations; + private readonly IList hydraRingCalculationInputs; private readonly SubMechanismSettingsProvider subMechanismSettingsProvider = new SubMechanismSettingsProvider(); private readonly FailureMechanismSettingsProvider failureMechanismSettingsProvider = new FailureMechanismSettingsProvider(); private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider(); @@ -74,7 +74,7 @@ /// The to use while executing the configured Hydra-Ring calculations. public HydraRingConfiguration(string ringId, HydraRingTimeIntegrationSchemeType timeIntegrationSchemeType, HydraRingUncertaintiesType uncertaintiesType) { - hydraRingCalculations = new List(); + hydraRingCalculationInputs = new List(); this.ringId = ringId; this.timeIntegrationSchemeType = timeIntegrationSchemeType; @@ -117,10 +117,10 @@ /// /// Adds a Hydra-Ring calculation to the . /// - /// The container that holds all data for configuring the calculation. - public void AddHydraRingCalculation(HydraRingCalculation hydraRingCalculation) + /// The container that holds all data for configuring the calculation. + public void AddHydraRingCalculation(HydraRingCalculationInput hydraRingCalculationInput) { - hydraRingCalculations.Add(hydraRingCalculation); + hydraRingCalculationInputs.Add(hydraRingCalculationInput); } /// @@ -180,9 +180,9 @@ { var orderedDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var hydraRingDikeSection = hydraRingCalculation.DikeSection; + var hydraRingDikeSection = hydraRingCalculationInput.DikeSection; orderedDictionaries.Add(new OrderedDictionary { @@ -214,10 +214,10 @@ "YCoordinate", GetHydraRingValue(hydraRingDikeSection.CrossSectionYCoordinate) }, { - "StationId1", hydraRingCalculation.HydraulicBoundaryLocationId + "StationId1", hydraRingCalculationInput.HydraulicBoundaryLocationId }, { - "StationId2", hydraRingCalculation.HydraulicBoundaryLocationId // Same as "StationId1": no support for coupling two stations + "StationId2", hydraRingCalculationInput.HydraulicBoundaryLocationId // Same as "StationId1": no support for coupling two stations }, { "Relative", 100.0 // Fixed: no support for coupling two stations @@ -238,15 +238,15 @@ { var orderedDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType); - var failureMechanismSettings = failureMechanismSettingsProvider.GetFailureMechanismSettings(hydraRingCalculation.FailureMechanismType); + var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); + var failureMechanismSettings = failureMechanismSettingsProvider.GetFailureMechanismSettings(hydraRingCalculationInput.FailureMechanismType); orderedDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "MechanismId", failureMechanismDefaults.MechanismId @@ -258,7 +258,7 @@ "AlternativeId", defaultAlternativeId // Fixed: no support for piping }, { - "Method", hydraRingCalculation.CalculationTypeId + "Method", hydraRingCalculationInput.CalculationTypeId }, { "VariableId", failureMechanismDefaults.VariableId @@ -282,7 +282,7 @@ "ValueMax", GetHydraRingValue(failureMechanismSettings.ValueMax) }, { - "Beta", GetHydraRingValue(hydraRingCalculation.Beta) + "Beta", GetHydraRingValue(hydraRingCalculationInput.Beta) } }); } @@ -294,18 +294,18 @@ { var orderDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType); + var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); foreach (var subMechanimsId in failureMechanismDefaults.SubMechanismIds) { - var subMechanismSettings = subMechanismSettingsProvider.GetSubMechanismSettings(hydraRingCalculation.FailureMechanismType, subMechanimsId, ringId); + var subMechanismSettings = subMechanismSettingsProvider.GetSubMechanismSettings(hydraRingCalculationInput.FailureMechanismType, subMechanimsId, ringId); orderDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "MechanismId", failureMechanismDefaults.MechanismId @@ -375,18 +375,18 @@ { var orderDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType); + var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); - foreach (var hydraRingVariable in hydraRingCalculation.Variables) + foreach (var hydraRingVariable in hydraRingCalculationInput.Variables) { - var variableDefaults = variableDefaultsProvider.GetVariableDefaults(hydraRingCalculation.FailureMechanismType, hydraRingVariable.VariableId); + var variableDefaults = variableDefaultsProvider.GetVariableDefaults(hydraRingCalculationInput.FailureMechanismType, hydraRingVariable.VariableId); orderDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "MechanismId", failureMechanismDefaults.MechanismId @@ -450,16 +450,16 @@ { var orderDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - for (var i = 0; i < hydraRingCalculation.ProfilePoints.Count(); i++) + for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++) { - var hydraRingProfilePoint = hydraRingCalculation.ProfilePoints.ElementAt(i); + var hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i); orderDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "SequenceNumber", i + 1 @@ -484,15 +484,15 @@ { var orderedDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType); - var failureMechanismSettings = failureMechanismSettingsProvider.GetFailureMechanismSettings(hydraRingCalculation.FailureMechanismType); + var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); + var failureMechanismSettings = failureMechanismSettingsProvider.GetFailureMechanismSettings(hydraRingCalculationInput.FailureMechanismType); orderedDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "MechanismId", failureMechanismDefaults.MechanismId @@ -516,20 +516,20 @@ { var orderedDictionaries = new List(); - foreach (var hydraRingCalculation in hydraRingCalculations) + foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType); + var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); foreach (var subMechanismId in failureMechanismDefaults.SubMechanismIds) { - var subMechanismModelId = hydraRingCalculation.GetSubMechanismModelId(subMechanismId); + var subMechanismModelId = hydraRingCalculationInput.GetSubMechanismModelId(subMechanismId); if (subMechanismModelId != null) { orderedDictionaries.Add(new OrderedDictionary { { - "SectionId", hydraRingCalculation.DikeSection.SectionId + "SectionId", hydraRingCalculationInput.DikeSection.SectionId }, { "MechanismId", failureMechanismDefaults.MechanismId Fisheye: Tag 860a38c705705658e91b43c1e813b63205bbbfa8 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/IterateTowardsTargetProbabilityCalculation.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/TargetProbabilityCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/TargetProbabilityCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Base/TargetProbabilityCalculationInput.cs (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -0,0 +1,57 @@ +// 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.Base +{ + /// + /// Container of all data necessary for performing a type-2 calculation via Hydra-Ring ("iterate towards a target probability, provided as reliability index"). + /// + public abstract class TargetProbabilityCalculationInput : HydraRingCalculationInput + { + private readonly double beta; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + /// The reliability index to use during the calculation. + protected TargetProbabilityCalculationInput(int hydraulicBoundaryLocationId, double beta) : base(hydraulicBoundaryLocationId) + { + this.beta = beta; + } + + public override int CalculationTypeId + { + get + { + return 2; + } + } + + public override double Beta + { + get + { + return beta; + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Ringtoets.HydraRing.Calculation.csproj (.../Ringtoets.HydraRing.Calculation.csproj) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -42,8 +42,8 @@ - - + + True @@ -63,7 +63,7 @@ - + Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/HydraRingCalculationService.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/HydraRingCalculationService.cs (.../HydraRingCalculationService.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -41,15 +41,15 @@ /// The id of the ring to perform the failure mechanism calculation for. /// The to use while executing the failure mechanism calculation. /// The to use while executing the failure mechanism calculation. - /// The failure mechanism calculation to perform. - public static void PerformFailureMechanismCalculation(string hlcdDirectory, string ringId, HydraRingTimeIntegrationSchemeType timeIntegrationSchemeType, HydraRingUncertaintiesType uncertaintiesType, HydraRingCalculation hydraRingCalculation) + /// The failure mechanism calculation to perform. + public static void PerformFailureMechanismCalculation(string hlcdDirectory, string ringId, HydraRingTimeIntegrationSchemeType timeIntegrationSchemeType, HydraRingUncertaintiesType uncertaintiesType, HydraRingCalculationInput hydraRingCalculationInput) { - var hydraulicBoundaryLocationId = hydraRingCalculation.HydraulicBoundaryLocationId; - var mechanismId = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(hydraRingCalculation.FailureMechanismType).MechanismId; + var hydraulicBoundaryLocationId = hydraRingCalculationInput.HydraulicBoundaryLocationId; + var mechanismId = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType).MechanismId; // Create a Hydra-Ring configuration var hydraRingConfiguration = new HydraRingConfiguration(ringId, timeIntegrationSchemeType, uncertaintiesType); - hydraRingConfiguration.AddHydraRingCalculation(hydraRingCalculation); + hydraRingConfiguration.AddHydraRingCalculation(hydraRingCalculationInput); // Calculation file names var outputFileName = "designTable.txt"; Fisheye: Tag 860a38c705705658e91b43c1e813b63205bbbfa8 refers to a dead (removed) revision in file `Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/Hydraulics/AssessmentLevelCalculation.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/Hydraulics/AssessmentLevelCalculationInput.cs =================================================================== diff -u --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/Hydraulics/AssessmentLevelCalculationInput.cs (revision 0) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Service/Hydraulics/AssessmentLevelCalculationInput.cs (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -0,0 +1,74 @@ +// 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.Collections.Generic; +using Ringtoets.HydraRing.Calculation.Base; +using Ringtoets.HydraRing.Calculation.Data; + +namespace Ringtoets.HydraRing.Calculation.Service.Hydraulics +{ + /// + /// Container of all data necessary for performing an assessment level calculation via Hydra-Ring. + /// + public class AssessmentLevelCalculationInput : TargetProbabilityCalculationInput + { + private readonly HydraRingDikeSection dikeSection; + + /// + /// Creates a new instance of the class. + /// + /// The id of the hydraulic station to use during the calculation. + /// The reliability index to use during the calculation. + public AssessmentLevelCalculationInput(int hydraulicBoundaryLocationId, double beta) : base(hydraulicBoundaryLocationId, beta) + { + dikeSection = new HydraRingDikeSection(HydraulicBoundaryLocationId, HydraulicBoundaryLocationId.ToString(), double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); + } + + public override HydraRingFailureMechanismType FailureMechanismType + { + get + { + return HydraRingFailureMechanismType.AssessmentLevel; + } + } + + public override HydraRingDikeSection DikeSection + { + get + { + return dikeSection; + } + } + + public override IEnumerable Variables + { + get + { + yield return new AssessmentLevelVariable(); + } + } + + private class AssessmentLevelVariable : HydraRingVariable + { + public AssessmentLevelVariable() : base(26, HydraRingDistributionType.Deterministic, 0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN) {} + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingCalculationInputTest.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingCalculationInputTest.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingCalculationInputTest.cs (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -0,0 +1,100 @@ +// 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.Base; +using Ringtoets.HydraRing.Calculation.Data; + +namespace Ringtoets.HydraRing.Calculation.Test.Base +{ + [TestFixture] + public class HydraRingCalculationInputTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Call + var hydraRingCalculationInput = new HydraRingCalculationInputImplementation(1); + + // Assert + Assert.AreEqual(1, hydraRingCalculationInput.HydraulicBoundaryLocationId); + Assert.AreEqual(HydraRingFailureMechanismType.QVariant, hydraRingCalculationInput.FailureMechanismType); + Assert.AreEqual(4, hydraRingCalculationInput.CalculationTypeId); + CollectionAssert.IsEmpty(hydraRingCalculationInput.Variables); + CollectionAssert.IsEmpty(hydraRingCalculationInput.ProfilePoints); + Assert.IsNaN(hydraRingCalculationInput.Beta); + } + + [Test] + public void GetSubMechanismModelId_ReturnsExpectedValues() + { + // Call + var hydraRingCalculationInput = new HydraRingCalculationInputImplementation(1); + + // Assert + Assert.AreEqual(10, hydraRingCalculationInput.GetSubMechanismModelId(1)); + Assert.AreEqual(20, hydraRingCalculationInput.GetSubMechanismModelId(2)); + Assert.IsNull(hydraRingCalculationInput.GetSubMechanismModelId(3)); + } + + private class HydraRingCalculationInputImplementation : HydraRingCalculationInput + { + public HydraRingCalculationInputImplementation(int hydraulicBoundaryLocationId) : base(hydraulicBoundaryLocationId) {} + + public override HydraRingFailureMechanismType FailureMechanismType + { + get + { + return HydraRingFailureMechanismType.QVariant; + } + } + + public override int CalculationTypeId + { + get + { + return 4; + } + } + + public override HydraRingDikeSection DikeSection + { + get + { + return new HydraRingDikeSection(1, "Name", 2.2, 3.3, 4.4, 5.5, 6.6, 7.7); + } + } + + public override int? GetSubMechanismModelId(int subMechanismId) + { + switch (subMechanismId) + { + case 1: + return 10; + case 2: + return 20; + default: + return null; + } + } + } + } +} \ No newline at end of file Fisheye: Tag 860a38c705705658e91b43c1e813b63205bbbfa8 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingCalculationTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingConfigurationTest.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingConfigurationTest.cs (.../HydraRingConfigurationTest.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/HydraRingConfigurationTest.cs (.../HydraRingConfigurationTest.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -47,7 +47,7 @@ { var hydraRingConfiguration = new HydraRingConfiguration("34-1", HydraRingTimeIntegrationSchemeType.NTI, HydraRingUncertaintiesType.Model); - hydraRingConfiguration.AddHydraRingCalculation(new HydraRingCalculationImplementation(700004)); + hydraRingConfiguration.AddHydraRingCalculation(new HydraRingCalculationInputImplementation(700004)); var expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (3, 2, 'WTI 2017');" + Environment.NewLine + @@ -112,9 +112,9 @@ Assert.AreEqual(expectedCreationScript, creationScript); } - private class HydraRingCalculationImplementation : HydraRingCalculation + private class HydraRingCalculationInputImplementation : HydraRingCalculationInput { - public HydraRingCalculationImplementation(int hydraulicBoundaryLocationId) : base(hydraulicBoundaryLocationId) {} + public HydraRingCalculationInputImplementation(int hydraulicBoundaryLocationId) : base(hydraulicBoundaryLocationId) {} public override HydraRingFailureMechanismType FailureMechanismType { Fisheye: Tag 860a38c705705658e91b43c1e813b63205bbbfa8 refers to a dead (removed) revision in file `Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/IterateTowardsTargetProbabilityCalculationTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/TargetProbabilityCalculationTest.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/TargetProbabilityCalculationTest.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Base/TargetProbabilityCalculationTest.cs (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -0,0 +1,67 @@ +// 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.Base; +using Ringtoets.HydraRing.Calculation.Data; + +namespace Ringtoets.HydraRing.Calculation.Test.Base +{ + [TestFixture] + public class TargetProbabilityCalculationTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Call + var targetProbabilityCalculationInputImplementation = new TargetProbabilityCalculationInputImplementation(1, 2.2); + + // Assert + Assert.AreEqual(1, targetProbabilityCalculationInputImplementation.HydraulicBoundaryLocationId); + Assert.AreEqual(HydraRingFailureMechanismType.DikesPiping, targetProbabilityCalculationInputImplementation.FailureMechanismType); + Assert.AreEqual(2, targetProbabilityCalculationInputImplementation.CalculationTypeId); + CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.Variables); + CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.ProfilePoints); + Assert.AreEqual(2.2, targetProbabilityCalculationInputImplementation.Beta); + } + + private class TargetProbabilityCalculationInputImplementation : TargetProbabilityCalculationInput + { + public TargetProbabilityCalculationInputImplementation(int hydraulicBoundaryLocationId, double beta) : base(hydraulicBoundaryLocationId, beta) {} + + public override HydraRingFailureMechanismType FailureMechanismType + { + get + { + return HydraRingFailureMechanismType.DikesPiping; + } + } + + public override HydraRingDikeSection DikeSection + { + get + { + return new HydraRingDikeSection(1, "Name", 2.2, 3.3, 4.4, 5.5, 6.6, 7.7); + } + } + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Ringtoets.HydraRing.Calculation.Test.csproj (.../Ringtoets.HydraRing.Calculation.Test.csproj) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -48,14 +48,14 @@ - + - + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/HydraRingConfigurationIntegrationTest.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/HydraRingConfigurationIntegrationTest.cs (.../HydraRingConfigurationIntegrationTest.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/HydraRingConfigurationIntegrationTest.cs (.../HydraRingConfigurationIntegrationTest.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -35,7 +35,7 @@ { var hydraRingConfiguration = new HydraRingConfiguration("34-1", HydraRingTimeIntegrationSchemeType.FBC, HydraRingUncertaintiesType.All); - hydraRingConfiguration.AddHydraRingCalculation(new AssessmentLevelCalculation(700004, 3.29053)); + hydraRingConfiguration.AddHydraRingCalculation(new AssessmentLevelCalculationInput(700004, 3.29053)); var expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/Hydraulics/AssessmentLevelCalculationTest.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/Hydraulics/AssessmentLevelCalculationTest.cs (.../AssessmentLevelCalculationTest.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Service/Hydraulics/AssessmentLevelCalculationTest.cs (.../AssessmentLevelCalculationTest.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -33,7 +33,7 @@ public void Constructor_ExpectedValues() { // Call - var assessmentLevelCalculation = new AssessmentLevelCalculation(1, 2.2); + var assessmentLevelCalculation = new AssessmentLevelCalculationInput(1, 2.2); // Assert Assert.AreEqual(1, assessmentLevelCalculation.HydraulicBoundaryLocationId); Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -race9ccbb49504742caff42a44fdd4c79d5217424 -r860a38c705705658e91b43c1e813b63205bbbfa8 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision ace9ccbb49504742caff42a44fdd4c79d5217424) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 860a38c705705658e91b43c1e813b63205bbbfa8) @@ -610,7 +610,7 @@ protected override void OnRun() { - HydraRingCalculationService.PerformFailureMechanismCalculation(hlcdDirectory, ringId, timeIntegrationSchemeType, uncertaintiesType, new AssessmentLevelCalculation(hydraulicBoundaryLocationId, beta)); + HydraRingCalculationService.PerformFailureMechanismCalculation(hlcdDirectory, ringId, timeIntegrationSchemeType, uncertaintiesType, new AssessmentLevelCalculationInput(hydraulicBoundaryLocationId, beta)); } protected override void OnCancel()