Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/DesignTablesSettingsProvider.cs =================================================================== diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/DesignTablesSettingsProvider.cs (.../DesignTablesSettingsProvider.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d) +++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/DesignTablesSettingsProvider.cs (.../DesignTablesSettingsProvider.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -125,6 +125,10 @@ { HydraRingFailureMechanismType.DunesBoundaryConditions, new DesignTablesSetting(3.5, 6) + }, + { + HydraRingFailureMechanismType.OvertoppingRate, + new DesignTablesSetting(0.001, 0.004) } }; } Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs =================================================================== diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs (.../NumericsSettingsProvider.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d) +++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs (.../NumericsSettingsProvider.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -23,8 +23,8 @@ using System.Collections.Generic; using System.ComponentModel; using Core.Common.Base.IO; -using Core.Common.IO.Exceptions; using Ringtoets.HydraRing.Calculation.Data; +using Ringtoets.HydraRing.Calculation.Data.Defaults; using Ringtoets.HydraRing.Calculation.Data.Settings; using Ringtoets.HydraRing.Calculation.Providers; @@ -71,13 +71,13 @@ /// contain expected type. public Dictionary GetNumericsSettings(long locationId, HydraRingFailureMechanismType failureMechanismType) { - var failureMechanismDefaults = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(failureMechanismType); - var subMechanismIds = failureMechanismDefaults.SubMechanismIds; - var mechanismId = failureMechanismDefaults.MechanismId; + FailureMechanismDefaults failureMechanismDefaults = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(failureMechanismType); + IEnumerable subMechanismIds = failureMechanismDefaults.SubMechanismIds; + int mechanismId = failureMechanismDefaults.MechanismId; var numericsSettings = new Dictionary(); - foreach (var subMechanismId in subMechanismIds) + foreach (int subMechanismId in subMechanismIds) { numericsSettings[subMechanismId] = numericsSettingsReader.ReadNumericsSetting(locationId, mechanismId, subMechanismId) ?? defaultNumericsSettings[failureMechanismType][subMechanismId]; @@ -93,9 +93,9 @@ private void InitializeDefaultNumericsSettings() { - var numericsSettingForm = CreateDefaultNumericsSetting(1, 1); // Settings for a FORM calculation - var numericsSettingFDir = CreateDefaultNumericsSetting(11, 4); // Settings for a hybrid calculation; FORM in first instance, DIRS in case of no convergence - var numericsSettingDunes = CreateDefaultNumericsSetting(1, 4); + NumericsSetting numericsSettingForm = CreateDefaultNumericsSetting(1, 1); // Settings for a FORM calculation + NumericsSetting numericsSettingFDir = CreateDefaultNumericsSetting(11, 4); // Settings for a hybrid calculation; FORM in first instance, DIRS in case of no convergence + NumericsSetting numericsSettingDunes = CreateDefaultNumericsSetting(1, 4); var numericsSettingQVariant = new NumericsSetting(4, 4, 150, 0.15, 0.005, 0.005, 0.005, 2, 3000, 10000, 0.1, -6.0, 6.0, 25); defaultNumericsSettings = new Dictionary> @@ -235,7 +235,18 @@ 6, numericsSettingDunes } } - } + }, + { + HydraRingFailureMechanismType.OvertoppingRate, new Dictionary + { + { + 102, numericsSettingFDir + }, + { + 103, numericsSettingFDir + } + } + }, }; } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs =================================================================== diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs (.../DesignTablesSettingsProviderTest.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs (.../DesignTablesSettingsProviderTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -23,7 +23,6 @@ using System.ComponentModel; using System.IO; using Core.Common.Base.IO; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -114,6 +113,7 @@ [TestCase(HydraRingFailureMechanismType.StructuresClosure, 700131, double.NaN, double.NaN)] [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 700131, double.NaN, double.NaN)] [TestCase(HydraRingFailureMechanismType.DunesBoundaryConditions, 700131, 3.5, 6.0)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, -1, 0.001, 0.004)] public void GetDesignTablesSetting_UnknownFailureMechanismTypeOrLocationId_ReturnsDefaultDesignTablesSetting( HydraRingFailureMechanismType failureMechanismType, long locationId, double expectedValueMin, double expectedValueMax) { Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs =================================================================== diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs (.../NumericsSettingsProviderTest.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs (.../NumericsSettingsProviderTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -23,7 +23,6 @@ using System.Collections.Generic; using System.IO; using Core.Common.Base.IO; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -68,7 +67,7 @@ public void GetNumericsSetting_KnownLocationId_ReturnsExpectedNumericsSetting() { // Setup - using (NumericsSettingsProvider numericsSettingsProvider = new NumericsSettingsProvider(completeDatabaseDataPath)) + using (var numericsSettingsProvider = new NumericsSettingsProvider(completeDatabaseDataPath)) { NumericsSetting expectedValues = GetExpectedNumericsSetting(); @@ -119,12 +118,14 @@ [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 434, 11, 4, 10000, 40000)] [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 435, 11, 4, 10000, 40000)] [TestCase(HydraRingFailureMechanismType.DunesBoundaryConditions, 6, 1, 4, 10000, 40000)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 102, 11, 4, 10000, 40000)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 103, 11, 4, 10000, 40000)] public void GetNumericsSetting_UnknownLocationId_ReturnsExpectedDefaultNumericsSetting( HydraRingFailureMechanismType failureMechanismType, int subMechanismId, int expectedCalculationTechniqueId, int expectedFormStartMethod, int expectedDsMinNumberOfIterations, int expectedDsMaxNumberOfIterations) { // Setup - using (NumericsSettingsProvider numericsSettingsProvider = new NumericsSettingsProvider(completeDatabaseDataPath)) + using (var numericsSettingsProvider = new NumericsSettingsProvider(completeDatabaseDataPath)) { // Call Dictionary numericsSettings = numericsSettingsProvider.GetNumericsSettings(-1, failureMechanismType); Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/TimeIntegrationSettingsProviderTest.cs =================================================================== diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/TimeIntegrationSettingsProviderTest.cs (.../TimeIntegrationSettingsProviderTest.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/TimeIntegrationSettingsProviderTest.cs (.../TimeIntegrationSettingsProviderTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -22,7 +22,6 @@ using System; using System.IO; using Core.Common.Base.IO; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -78,7 +77,7 @@ HydraRingFailureMechanismType failureMechanismType, long locationId, int expectedTimeIntegrationSchemeId) { // Setup - using (TimeIntegrationSettingsProvider timeIntegrationSettingsProvider = new TimeIntegrationSettingsProvider(completeDatabaseDataPath)) + using (var timeIntegrationSettingsProvider = new TimeIntegrationSettingsProvider(completeDatabaseDataPath)) { // Call TimeIntegrationSetting timeIntegrationSetting = timeIntegrationSettingsProvider.GetTimeIntegrationSetting(locationId, failureMechanismType); @@ -99,11 +98,12 @@ [TestCase(HydraRingFailureMechanismType.StructuresOvertopping, 1)] [TestCase(HydraRingFailureMechanismType.StructuresClosure, 1)] [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 1)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 1)] public void GetTimeIntegrationSetting_UnknownLocationId_ReturnsDefaultTimeIntegrationSetting( HydraRingFailureMechanismType failureMechanismType, int expectedTimeIntegrationSchemeId) { // Setup - using (TimeIntegrationSettingsProvider timeIntegrationSettingsProvider = new TimeIntegrationSettingsProvider(completeDatabaseDataPath)) + using (var timeIntegrationSettingsProvider = new TimeIntegrationSettingsProvider(completeDatabaseDataPath)) { // Call TimeIntegrationSetting timeIntegrationSetting = timeIntegrationSettingsProvider.GetTimeIntegrationSetting(-1, failureMechanismType); Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs (.../HydraRingFailureMechanismType.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/HydraRingFailureMechanismType.cs (.../HydraRingFailureMechanismType.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -40,6 +40,7 @@ StructuresOvertopping = 7, StructuresClosure = 8, StructuresStructuralFailure = 9, - DunesBoundaryConditions = 10 + DunesBoundaryConditions = 10, + OvertoppingRate = 11 } } \ No newline at end of file Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (.../FailureMechanismDefaultsProvider.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/FailureMechanismDefaultsProvider.cs (.../FailureMechanismDefaultsProvider.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -125,6 +125,13 @@ { 6 }, 8) + }, + { + HydraRingFailureMechanismType.OvertoppingRate, new FailureMechanismDefaults(101, new[] + { + 102, + 103 + }, 1017) } }; } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (.../VariableDefaultsProvider.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Providers/VariableDefaultsProvider.cs (.../VariableDefaultsProvider.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -419,7 +419,36 @@ 26, new VariableDefaults(300) } } - } + }, + { + HydraRingFailureMechanismType.OvertoppingRate, new Dictionary + { + { + 1, new VariableDefaults(300) + }, + { + 8, new VariableDefaults(300) + }, + { + 10, new VariableDefaults(300) + }, + { + 11, new VariableDefaults(300) + }, + { + 12, new VariableDefaults(300) + }, + { + 17, new VariableDefaults(300) + }, + { + 120, new VariableDefaults(300) + }, + { + 123, new VariableDefaults(300) + } + } + }, }; } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/HydraRingFailureMechanismTypeTest.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/HydraRingFailureMechanismTypeTest.cs (.../HydraRingFailureMechanismTypeTest.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/HydraRingFailureMechanismTypeTest.cs (.../HydraRingFailureMechanismTypeTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -31,7 +31,7 @@ [Test] public void Values_ExpectedValues() { - Assert.AreEqual(11, Enum.GetValues(typeof(HydraRingFailureMechanismType)).Length); + Assert.AreEqual(12, Enum.GetValues(typeof(HydraRingFailureMechanismType)).Length); var message = "Value no longer corresponds to id in Hydra-Ring settings database files."; Assert.AreEqual(0, (int) HydraRingFailureMechanismType.AssessmentLevel, message); @@ -45,6 +45,7 @@ Assert.AreEqual(8, (int) HydraRingFailureMechanismType.StructuresClosure, message); Assert.AreEqual(9, (int) HydraRingFailureMechanismType.StructuresStructuralFailure, message); Assert.AreEqual(10, (int) HydraRingFailureMechanismType.DunesBoundaryConditions, message); + Assert.AreEqual(11, (int) HydraRingFailureMechanismType.OvertoppingRate, message); } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/FailureMechanismDefaultsProviderTest.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/FailureMechanismDefaultsProviderTest.cs (.../FailureMechanismDefaultsProviderTest.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/FailureMechanismDefaultsProviderTest.cs (.../FailureMechanismDefaultsProviderTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -89,6 +89,11 @@ { 6 }, 8)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 101, new[] + { + 102, + 103 + }, 1017)] public void GetFailureMechanismDefaults_ReturnsExpectedFailureMechanismDefaults(HydraRingFailureMechanismType failureMechanismType, int expectedMechanismId, IEnumerable expectedSubMechanismIds, Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/VariableDefaultsProviderTest.cs =================================================================== diff -u -ra6cc123a10630d78e283e2fab0f491804b6047e6 -r70ae1620471a0015dcc0b73a0aab21bcc8479a36 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/VariableDefaultsProviderTest.cs (.../VariableDefaultsProviderTest.cs) (revision a6cc123a10630d78e283e2fab0f491804b6047e6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Providers/VariableDefaultsProviderTest.cs (.../VariableDefaultsProviderTest.cs) (revision 70ae1620471a0015dcc0b73a0aab21bcc8479a36) @@ -136,6 +136,14 @@ [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 135, 999999)] [TestCase(HydraRingFailureMechanismType.StructuresStructuralFailure, 136, 999999)] [TestCase(HydraRingFailureMechanismType.DunesBoundaryConditions, 26, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 1, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 8, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 10, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 11, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 12, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 17, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 120, 300)] + [TestCase(HydraRingFailureMechanismType.OvertoppingRate, 123, 300)] public void GetVariableDefaults_ReturnsExpectedVariableDefaults(HydraRingFailureMechanismType failureMechanismType, int variableId, int expectedCorrelationLength) { // Setup