Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -r5175cc4c37a2c5701717a580c082f425caf70d27 -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 5175cc4c37a2c5701717a580c082f425caf70d27) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -25,6 +25,7 @@ using System.Linq; using System.Windows.Forms; using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Controls.TreeView; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; @@ -54,6 +55,7 @@ using Ringtoets.GrassCoverErosionOutwards.Plugin.MetaDataAttributeNameProviders; using Ringtoets.GrassCoverErosionOutwards.Service; using Ringtoets.GrassCoverErosionOutwards.Service.MessageProviders; +using Ringtoets.Revetment.Data; using Ringtoets.Revetment.IO.Configurations; using RingtoetsGrassCoverErosionOutwardsFormsResources = Ringtoets.GrassCoverErosionOutwards.Forms.Properties.Resources; using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; @@ -94,7 +96,7 @@ { CreateInstance = context => new GrassCoverErosionOutwardsWaveConditionsInputContextProperties( context, - () => context.AssessmentSection.GetNormativeAssessmentLevel(context.Calculation.InputParameters.HydraulicBoundaryLocation), + () => GetAssessmentLevel(context.Calculation), new ObservablePropertyChangeHandler(context.Calculation, context.WrappedData)) }; @@ -778,7 +780,7 @@ foreach (GrassCoverErosionOutwardsWaveConditionsCalculation calculation in calculations) { GrassCoverErosionOutwardsWaveConditionsCalculationService.Validate(calculation, - assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation), + GetAssessmentLevel(calculation), assessmentSection.HydraulicBoundaryDatabase.FilePath, assessmentSection.HydraulicBoundaryDatabase.EffectivePreprocessorDirectory()); } @@ -917,7 +919,7 @@ private static void Validate(GrassCoverErosionOutwardsWaveConditionsCalculationContext context) { GrassCoverErosionOutwardsWaveConditionsCalculationService.Validate(context.WrappedData, - context.AssessmentSection.GetNormativeAssessmentLevel(context.WrappedData.InputParameters.HydraulicBoundaryLocation), + GetAssessmentLevel(context.WrappedData), context.AssessmentSection.HydraulicBoundaryDatabase.FilePath, context.AssessmentSection.HydraulicBoundaryDatabase.EffectivePreprocessorDirectory()); } @@ -958,5 +960,10 @@ } #endregion + + private static RoundedDouble GetAssessmentLevel(ICalculation calculation) + { + return calculation.InputParameters.HydraulicBoundaryLocation?.DesignWaterLevelCalculation1.Output?.Result ?? RoundedDouble.NaN; + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs =================================================================== diff -u -r927003655a365cdb2389e0aea68fc965827adf0c -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs) (revision 927003655a365cdb2389e0aea68fc965827adf0c) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivity.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.Base.Data; using Core.Common.Base.Service; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Hydraulics; @@ -83,7 +84,7 @@ protected override bool Validate() { return GrassCoverErosionOutwardsWaveConditionsCalculationService.Validate(calculation, - assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation), + calculation.InputParameters.HydraulicBoundaryLocation?.DesignWaterLevelCalculation1.Output?.Result ?? RoundedDouble.NaN, hlcdFilePath, assessmentSection.HydraulicBoundaryDatabase.EffectivePreprocessorDirectory()); } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationService.cs =================================================================== diff -u -ra81fb4d326ce43c7f94d464aba21611a4582cd22 -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationService.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationService.cs) (revision a81fb4d326ce43c7f94d464aba21611a4582cd22) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsWaveConditionsCalculationService.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationService.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -127,7 +127,7 @@ failureMechanism.Contribution, failureMechanism.GeneralInput.N); string preprocessorDirectory = assessmentSection.HydraulicBoundaryDatabase.EffectivePreprocessorDirectory(); - RoundedDouble normativeAssessmentLevel = assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation); + RoundedDouble normativeAssessmentLevel = calculation.InputParameters.HydraulicBoundaryLocation?.DesignWaterLevelCalculation1.Output?.Result ?? RoundedDouble.NaN; TotalWaterLevelCalculations = calculation.InputParameters.GetWaterLevels(normativeAssessmentLevel).Count(); Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -rfabd67208f0b7243ad37b095e3e4d682f4b36edb -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs) (revision fabd67208f0b7243ad37b095e3e4d682f4b36edb) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Integration.Test/GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationActivityIntegrationTest.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -145,7 +145,7 @@ assessmentSection.GrassCoverErosionOutwards, assessmentSection); - RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation).ToArray(); int nrOfCalculators = waterLevels.Length; var mockRepository = new MockRepository(); @@ -200,7 +200,7 @@ assessmentSection.GrassCoverErosionOutwards, assessmentSection); - RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation).ToArray(); int nrOfCalculators = waterLevels.Length; var mockRepository = new MockRepository(); @@ -249,7 +249,7 @@ var waveConditionsCosineCalculator = new TestWaveConditionsCosineCalculator(); - RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation).ToArray(); int nrOfCalculators = waterLevels.Length; var mockRepository = new MockRepository(); @@ -330,7 +330,7 @@ TestHelper.AssertLogMessages(() => activity.Run(), messages => { string[] msgs = messages.ToArray(); - RoundedDouble firstWaterLevel = GetWaterLevels(calculation, assessmentSection).First(); + RoundedDouble firstWaterLevel = GetWaterLevels(calculation).First(); Assert.AreEqual(8, msgs.Length); Assert.AreEqual($"Golfcondities berekenen voor '{calculation.Name}' is gestart.", msgs[0]); @@ -362,7 +362,7 @@ assessmentSection.GrassCoverErosionOutwards, assessmentSection); - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -404,7 +404,7 @@ LastErrorFileContent = lastErrorFileContent }; - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -449,7 +449,7 @@ LastErrorFileContent = lastErrorFileContent }; - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -484,7 +484,7 @@ validFilePath, grassCoverErosionOutwardsFailureMechanism, assessmentSection); - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -521,7 +521,7 @@ validFilePath, grassCoverErosionOutwardsFailureMechanism, assessmentSection); - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -558,7 +558,7 @@ validFilePath, grassCoverErosionOutwardsFailureMechanism, assessmentSection); - int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count(); + int nrOfCalculators = GetWaterLevels(calculation).Count(); var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); @@ -599,7 +599,7 @@ private static AssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput(HydraulicBoundaryLocation hydraulicBoundaryLocation) { - hydraulicBoundaryLocation.DesignWaterLevelCalculation3.Output = new TestHydraulicBoundaryLocationOutput(9.3); + hydraulicBoundaryLocation.DesignWaterLevelCalculation1.Output = new TestHydraulicBoundaryLocationOutput(9.3); return new AssessmentSection(AssessmentSectionComposition.Dike) { @@ -614,9 +614,9 @@ }; } - private static IEnumerable GetWaterLevels(GrassCoverErosionOutwardsWaveConditionsCalculation calculation, AssessmentSection assessmentSection) + private static IEnumerable GetWaterLevels(GrassCoverErosionOutwardsWaveConditionsCalculation calculation) { - return calculation.InputParameters.GetWaterLevels(assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation)); + return calculation.InputParameters.GetWaterLevels(calculation.InputParameters.HydraulicBoundaryLocation?.DesignWaterLevelCalculation1.Output?.Result ?? RoundedDouble.NaN); } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveConditionsInputContextPropertyInfoTest.cs =================================================================== diff -u -r026939d282e7281edebc62e49794d9648e574382 -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveConditionsInputContextPropertyInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsInputContextPropertyInfoTest.cs) (revision 026939d282e7281edebc62e49794d9648e574382) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/PropertyInfos/GrassCoverErosionOutwardsWaveConditionsInputContextPropertyInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsInputContextPropertyInfoTest.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -49,24 +49,18 @@ } } - [TestCase(NormType.Signaling)] - [TestCase(NormType.LowerLimit)] - public void CreateInstance_Always_ExpectedProperties(NormType normType) + [Test] + public void CreateInstance_Always_ExpectedProperties() { // Setup - const double designWaterLevelSignaling = 1.1; - const double designWaterLevelLowerLimit = 2.2; + const double assessmentLevel = 1.1; var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); var testHydraulicBoundaryLocation = new TestHydraulicBoundaryLocation { - DesignWaterLevelCalculation2 = + DesignWaterLevelCalculation1 = { - Output = new TestHydraulicBoundaryLocationOutput(designWaterLevelSignaling) - }, - DesignWaterLevelCalculation3 = - { - Output = new TestHydraulicBoundaryLocationOutput(designWaterLevelLowerLimit) + Output = new TestHydraulicBoundaryLocationOutput(assessmentLevel) } }; var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation @@ -76,13 +70,7 @@ HydraulicBoundaryLocation = testHydraulicBoundaryLocation } }; - var assessmentSection = new ObservableTestAssessmentSectionStub - { - FailureMechanismContribution = - { - NormativeNorm = normType - } - }; + var assessmentSection = new ObservableTestAssessmentSectionStub(); var context = new GrassCoverErosionOutwardsWaveConditionsInputContext(calculation.InputParameters, calculation, @@ -100,10 +88,8 @@ Assert.IsInstanceOf(objectProperties); Assert.AreSame(context, objectProperties.Data); - double expectedAssessmentLevel = normType == NormType.Signaling - ? designWaterLevelSignaling - : designWaterLevelLowerLimit; - Assert.AreEqual(expectedAssessmentLevel, ((GrassCoverErosionOutwardsWaveConditionsInputContextProperties) objectProperties).AssessmentLevel); + var grassCoverErosionOutwardsWaveConditionsInputContextProperties = (GrassCoverErosionOutwardsWaveConditionsInputContextProperties) objectProperties; + Assert.AreEqual(assessmentLevel, grassCoverErosionOutwardsWaveConditionsInputContextProperties.AssessmentLevel); } } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -1931,7 +1931,7 @@ { return new TestHydraulicBoundaryLocation { - DesignWaterLevelCalculation3 = + DesignWaterLevelCalculation1 = { Output = new TestHydraulicBoundaryLocationOutput(12) } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r16aaa945951f39aae43afb02993721a4a4a2b671 -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision 16aaa945951f39aae43afb02993721a4a4a2b671) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -1980,7 +1980,7 @@ { return new TestHydraulicBoundaryLocation { - DesignWaterLevelCalculation3 = + DesignWaterLevelCalculation1 = { Output = new TestHydraulicBoundaryLocationOutput(12) } Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -r98ed08e814a75fa13332463dd685c6b7df3b4b14 -rab5044d23f83bbc1b8906f23a2a541162c6e6464 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision 98ed08e814a75fa13332463dd685c6b7df3b4b14) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision ab5044d23f83bbc1b8906f23a2a541162c6e6464) @@ -476,7 +476,7 @@ CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[0]); var i = 0; - foreach (RoundedDouble waterLevel in GetWaterLevels(calculation, assessmentSection)) + foreach (RoundedDouble waterLevel in GetWaterLevels(calculation)) { Assert.AreEqual($"Berekening voor waterstand '{waterLevel}' is gestart.", msgs[i + 1]); StringAssert.StartsWith("Golfcondities berekening is uitgevoerd op de tijdelijke locatie", msgs[i + 2]); @@ -544,7 +544,7 @@ CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[0]); var i = 0; - foreach (RoundedDouble waterLevel in GetWaterLevels(calculation, assessmentSection)) + foreach (RoundedDouble waterLevel in GetWaterLevels(calculation)) { Assert.AreEqual($"Berekening voor waterstand '{waterLevel}' is gestart.", msgs[i + 1]); StringAssert.StartsWith("Golfcondities berekening is uitgevoerd op de tijdelijke locatie", msgs[i + 2]); @@ -612,7 +612,7 @@ mechanismSpecificNorm, input.ForeshoreProfile.Geometry.Select(c => new HydraRingForelandPoint(c.X, c.Y)), new HydraRingBreakWater(BreakWaterTypeHelper.GetHydraRingBreakWaterType(breakWaterType), input.BreakWater.Height), - GetWaterLevels(calculation, assessmentSection).ElementAt(waterLevelIndex++), + GetWaterLevels(calculation).ElementAt(waterLevelIndex++), generalInput.GeneralWaveConditionsInput.A, generalInput.GeneralWaveConditionsInput.B, generalInput.GeneralWaveConditionsInput.C); @@ -788,7 +788,7 @@ CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[0]); - RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation).ToArray(); RoundedDouble waterLevelUpperBoundaryRevetment = waterLevels[0]; RoundedDouble waterLevelMiddleRevetment = waterLevels[1]; RoundedDouble waterLevelLowerBoundaryRevetment = waterLevels[2]; @@ -866,7 +866,7 @@ }; // Assert - RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation).ToArray(); RoundedDouble waterLevelUpperBoundaryRevetment = waterLevels[0]; RoundedDouble waterLevelMiddleRevetment = waterLevels[1]; RoundedDouble waterLevelLowerBoundaryRevetment = waterLevels[2]; @@ -1025,7 +1025,7 @@ { HydraulicBoundaryLocation = new TestHydraulicBoundaryLocation { - DesignWaterLevelCalculation3 = + DesignWaterLevelCalculation1 = { Output = new TestHydraulicBoundaryLocationOutput(12) } @@ -1056,9 +1056,9 @@ return (RoundedDouble) 9.3; } - private static IEnumerable GetWaterLevels(GrassCoverErosionOutwardsWaveConditionsCalculation calculation, IAssessmentSection assessmentSection) + private static IEnumerable GetWaterLevels(GrassCoverErosionOutwardsWaveConditionsCalculation calculation) { - return calculation.InputParameters.GetWaterLevels(assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation)); + return calculation.InputParameters.GetWaterLevels(calculation.InputParameters.HydraulicBoundaryLocation?.DesignWaterLevelCalculation1.Output?.Result ?? RoundedDouble.NaN); } } } \ No newline at end of file