Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs (.../StructuresStabilityPointCalculationInput.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointCalculationInput.cs (.../StructuresStabilityPointCalculationInput.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -76,5 +76,7 @@ return forelandPoints; } } + + public abstract override int? GetSubMechanismModelId(int subMechanismId); } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInput.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -37,5 +37,22 @@ public StructuresStabilityPointFloodedCulvertLinearCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, IEnumerable forelandPoints) : base(hydraulicBoundaryLocationId, hydraRingSection, forelandPoints) {} + + public override int? GetSubMechanismModelId(int subMechanismId) + { + switch (subMechanismId) + { + case 424: + return 107; + case 425: + return 113; + case 430: + return 114; + case 435: + return 116; + default: + return null; + } + } } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInput.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -37,5 +37,22 @@ public StructuresStabilityPointFloodedCulvertQuadraticCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, IEnumerable forelandPoints) : base(hydraulicBoundaryLocationId, hydraRingSection, forelandPoints) {} + + public override int? GetSubMechanismModelId(int subMechanismId) + { + switch (subMechanismId) + { + case 424: + return 107; + case 425: + return 113; + case 430: + return 115; + case 435: + return 117; + default: + return null; + } + } } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs (.../StructuresStabilityPointLowSillLinearCalculationInput.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInput.cs (.../StructuresStabilityPointLowSillLinearCalculationInput.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -37,5 +37,22 @@ public StructuresStabilityPointLowSillLinearCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, IEnumerable forelandPoints) : base(hydraulicBoundaryLocationId, hydraRingSection, forelandPoints) {} + + public override int? GetSubMechanismModelId(int subMechanismId) + { + switch (subMechanismId) + { + case 424: + return 106; + case 425: + return 111; + case 430: + return 114; + case 435: + return 116; + default: + return null; + } + } } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInput.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInput.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInput.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -37,5 +37,22 @@ public StructuresStabilityPointLowSillQuadraticCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, IEnumerable forelandPoints) : base(hydraulicBoundaryLocationId, hydraRingSection, forelandPoints) {} + + public override int? GetSubMechanismModelId(int subMechanismId) + { + switch (subMechanismId) + { + case 424: + return 106; + case 425: + return 111; + case 430: + return 115; + case 435: + return 117; + default: + return null; + } + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointCalculationInputTest.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointCalculationInputTest.cs (.../StructuresStabilityPointCalculationInputTest.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointCalculationInputTest.cs (.../StructuresStabilityPointCalculationInputTest.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.Linq; using NUnit.Framework; @@ -57,6 +58,11 @@ public TestStructuresStabilityPointCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, IEnumerable forelandPoints) : base(hydraulicBoundaryLocationId, hydraRingSection, forelandPoints) {} + + public override int? GetSubMechanismModelId(int subMechanismId) + { + throw new NotImplementedException(); + } } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -50,5 +50,25 @@ Assert.AreSame(hydraRingSection, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); } + + [Test] + [TestCase(423, null)] + [TestCase(424, 107)] + [TestCase(425, 113)] + [TestCase(430, 114)] + [TestCase(435, 116)] + [TestCase(436, null)] + public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) + { + // Setup + var input = new StructuresStabilityPointFloodedCulvertLinearCalculationInput(111, new HydraRingSection(1, double.NaN, double.NaN), + Enumerable.Empty()); + + // Call + int? actualSubmechanismModelId = input.GetSubMechanismModelId(subMechanismModelId); + + // Assert + Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -50,5 +50,25 @@ Assert.AreSame(hydraRingSection, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); } + + [Test] + [TestCase(423, null)] + [TestCase(424, 107)] + [TestCase(425, 113)] + [TestCase(430, 115)] + [TestCase(435, 117)] + [TestCase(436, null)] + public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) + { + // Setup + var input = new StructuresStabilityPointFloodedCulvertQuadraticCalculationInput(111, new HydraRingSection(1, double.NaN, double.NaN), + Enumerable.Empty()); + + // Call + int? actualSubmechanismModelId = input.GetSubMechanismModelId(subMechanismModelId); + + // Assert + Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs (.../StructuresStabilityPointLowSillLinearCalculationInputTest.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs (.../StructuresStabilityPointLowSillLinearCalculationInputTest.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -50,5 +50,25 @@ Assert.AreSame(hydraRingSection, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); } + + [Test] + [TestCase(423, null)] + [TestCase(424, 106)] + [TestCase(425, 111)] + [TestCase(430, 114)] + [TestCase(435, 116)] + [TestCase(436, null)] + public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) + { + // Setup + var input = new StructuresStabilityPointLowSillLinearCalculationInput(111, new HydraRingSection(1, double.NaN, double.NaN), + Enumerable.Empty()); + + // Call + int? actualSubmechanismModelId = input.GetSubMechanismModelId(subMechanismModelId); + + // Assert + Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs =================================================================== diff -u -r9b06e30ac5eeb4be04600a833c21d161f7cd0b12 -r09b4db27e099a8ca38803d6e7c012c085eb7c341 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs) (revision 9b06e30ac5eeb4be04600a833c21d161f7cd0b12) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs) (revision 09b4db27e099a8ca38803d6e7c012c085eb7c341) @@ -50,5 +50,25 @@ Assert.AreSame(hydraRingSection, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); } + + [Test] + [TestCase(423, null)] + [TestCase(424, 106)] + [TestCase(425, 111)] + [TestCase(430, 115)] + [TestCase(435, 117)] + [TestCase(436, null)] + public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int? expectedSubMechanismModelId) + { + // Setup + var input = new StructuresStabilityPointLowSillQuadraticCalculationInput(111, new HydraRingSection(1, double.NaN, double.NaN), + Enumerable.Empty()); + + // Call + int? actualSubmechanismModelId = input.GetSubMechanismModelId(subMechanismModelId); + + // Assert + Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); + } } } \ No newline at end of file