Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj =================================================================== diff -u -r63fc151e9cf722527465c1eddfa6567a90feb5e6 -ra1cd38ca29f10b2f8718064a98f4802797a63579 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision 63fc151e9cf722527465c1eddfa6567a90feb5e6) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/Ringtoets.StabilityStoneCover.Integration.Test.csproj (.../Ringtoets.StabilityStoneCover.Integration.Test.csproj) (revision a1cd38ca29f10b2f8718064a98f4802797a63579) @@ -57,6 +57,10 @@ {74CBA865-9338-447F-BAD9-28312446AE84} Ringtoets.HydraRing.Calculation.TestUtil + + {11F1F874-45AF-43E4-8AE5-15A5C9593E28} + Ringtoets.Integration.Data + {87C2C553-C0BC-40BF-B1EA-B83BFF357F27} Ringtoets.Revetment.Data Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -ra0ce67608c6c5431daf9cd8f51e6c54b535dba3a -ra1cd38ca29f10b2f8718064a98f4802797a63579 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision a0ce67608c6c5431daf9cd8f51e6c54b535dba3a) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision a1cd38ca29f10b2f8718064a98f4802797a63579) @@ -30,13 +30,15 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.DikeProfiles; +using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Service.TestUtil; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions; using Ringtoets.HydraRing.Calculation.TestUtil; using Ringtoets.HydraRing.Calculation.TestUtil.Calculator; +using Ringtoets.Integration.Data; using Ringtoets.Revetment.Data; using Ringtoets.StabilityStoneCover.Data; using Ringtoets.StabilityStoneCover.Service; @@ -54,28 +56,18 @@ public void Run_CalculationWithInvalidHydraulicBoundaryDatabaseFilePath_DoesNotPerformCalculationAndLogsError() { // Setup - var mockRepository = new MockRepository(); - var calculation = new StabilityStoneCoverWaveConditionsCalculation - { - InputParameters = - { - ForeshoreProfile = new TestForeshoreProfile(true), - UseForeshore = true, - UseBreakWater = true, - StepSize = WaveConditionsInputStepSize.Half, - LowerBoundaryRevetment = (RoundedDouble) 5.3, - UpperBoundaryRevetment = (RoundedDouble) 10, - UpperBoundaryWaterLevels = (RoundedDouble) 5.4, - LowerBoundaryWaterLevels = (RoundedDouble) 5 - } - }; + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); string testFilePath = Path.Combine(testDataPath, "NonExisting.sqlite"); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, testFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub(stabilityStoneCoverFailureMechanism, mockRepository)); + assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); mockRepository.ReplayAll(); @@ -104,34 +96,21 @@ public void Run_CalculationWithInvalidPreprocessorDirectory_DoesNotPerformCalculationAndLogsError() { // Setup - var mockRepository = new MockRepository(); - var calculation = new StabilityStoneCoverWaveConditionsCalculation - { - InputParameters = - { - ForeshoreProfile = new TestForeshoreProfile(true), - UseForeshore = true, - UseBreakWater = true, - StepSize = WaveConditionsInputStepSize.Half, - LowerBoundaryRevetment = (RoundedDouble) 5.3, - UpperBoundaryRevetment = (RoundedDouble) 10, - UpperBoundaryWaterLevels = (RoundedDouble) 5.4, - LowerBoundaryWaterLevels = (RoundedDouble) 5 - } - }; + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); - - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(stabilityStoneCoverFailureMechanism, mockRepository); - assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; + var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); mockRepository.ReplayAll(); @@ -160,20 +139,20 @@ public void Run_Always_SetProgressTexts() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); + assessmentSection); - RoundedDouble[] waterLevels = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); int nrOfCalculators = waterLevels.Length * 2; + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -209,17 +188,20 @@ { // Setup const int nrOfCalculators = 6; - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); + calculation.InputParameters.BreakWater.Type = breakWaterType; var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(stabilityStoneCoverFailureMechanism, - mockRepository); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); var calculator = new TestWaveConditionsCosineCalculator(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) @@ -240,7 +222,7 @@ GeneralStabilityStoneCoverWaveConditionsInput generalInput = stabilityStoneCoverFailureMechanism.GeneralInput; WaveConditionsInput input = calculation.InputParameters; - RoundedDouble[] waterLevels = input.GetWaterLevels(input.AssessmentLevel).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); var waterLevelIndex = 0; for (var i = 0; i < testWaveConditionsInputs.Length / 2; i++) @@ -284,15 +266,17 @@ public void Cancel_WhenPerformingCalculationForBlocks_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); + var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); + assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); var calculator = new TestWaveConditionsCosineCalculator(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(calculator); @@ -313,7 +297,7 @@ TestHelper.AssertLogMessages(() => activity.Run(), messages => { string[] msgs = messages.ToArray(); - RoundedDouble firstWaterLevel = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).First(); + RoundedDouble firstWaterLevel = GetWaterLevels(calculation, assessmentSection).First(); Assert.AreEqual(10, msgs.Length); Assert.AreEqual($"Golfcondities voor blokken en zuilen berekenen voor '{calculation.Name}' is gestart.", msgs[0]); @@ -338,17 +322,17 @@ public void Cancel_WhenPerformingCalculationForColumns_CurrentCalculationForWaterLevelCompletesAndSubsequentCalculationsDidNotRun() { // Setup - var mockRepository = new MockRepository(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); + assessmentSection); + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -371,7 +355,7 @@ TestHelper.AssertLogMessages(() => activity.Run(), messages => { string[] msgs = messages.ToArray(); - RoundedDouble[] waterLevels = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).ToArray(); + RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); Assert.AreEqual(21, msgs.Length); Assert.AreEqual($"Golfcondities voor blokken en zuilen berekenen voor '{calculation.Name}' is gestart.", msgs[0]); @@ -407,16 +391,17 @@ public void Run_WhenCanceled_OutputNull() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); + assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()); mockRepository.ReplayAll(); @@ -448,18 +433,19 @@ public void Run_CalculationPerformed_SetsOutput() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count() * 2; + assessmentSection); + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count() * 2; + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -489,23 +475,25 @@ public void Run_ErrorInCalculation_ActivityStateFailed(bool endInFailure, string lastErrorFileContent) { // Setup - var mockRepository = new MockRepository(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); + var failureMechanism = new StabilityStoneCoverFailureMechanism(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, + validFilePath, + failureMechanism, + assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, LastErrorFileContent = lastErrorFileContent - }).Repeat.Times(calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count()); - - var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, - validFilePath, - failureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mockRepository, validFilePath)); + }).Repeat.Times(GetWaterLevels(calculation, assessmentSection).Count()); mockRepository.ReplayAll(); + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call @@ -526,22 +514,23 @@ public void Run_CalculationFailed_OutputNull(bool endInFailure, string lastErrorFileContent) { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); + var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, - AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository)); + assessmentSection); + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, LastErrorFileContent = lastErrorFileContent - }).Repeat.Times(calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count()); + }).Repeat.Times(GetWaterLevels(calculation, assessmentSection).Count()); mockRepository.ReplayAll(); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) @@ -560,22 +549,19 @@ public void Run_HydraulicBoundaryDatabaseWithCanUsePreprocessorFalse_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository, - validFilePath); - var activity = new StabilityStoneCoverWaveConditionsCalculationActivity(calculation, validFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count() * 2; + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count() * 2; + + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -597,16 +583,11 @@ public void Run_HydraulicBoundaryDatabaseWithUsePreprocessorTrue_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository, - validFilePath); - assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = validPreprocessorDirectory; @@ -615,8 +596,9 @@ validFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count() * 2; + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count() * 2; + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, validPreprocessorDirectory)) .Return(new TestWaveConditionsCosineCalculator()) @@ -638,16 +620,11 @@ public void Run_HydraulicBoundaryDatabaseWithUsePreprocessorFalse_CreateWaveConditionsCosineCalculatorAsExpected() { // Setup - var mockRepository = new MockRepository(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = CreateValidCalculation(); + AssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(calculation.InputParameters.HydraulicBoundaryLocation); var stabilityStoneCoverFailureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - stabilityStoneCoverFailureMechanism, - mockRepository, - validFilePath); - assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = false; assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; @@ -656,8 +633,9 @@ validFilePath, stabilityStoneCoverFailureMechanism, assessmentSection); - int nrOfCalculators = calculation.InputParameters.GetWaterLevels(calculation.InputParameters.AssessmentLevel).Count() * 2; + int nrOfCalculators = GetWaterLevels(calculation, assessmentSection).Count() * 2; + var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -675,13 +653,13 @@ mockRepository.VerifyAll(); } - private static StabilityStoneCoverWaveConditionsCalculation GetValidCalculation() + private static StabilityStoneCoverWaveConditionsCalculation CreateValidCalculation() { return new StabilityStoneCoverWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateDesignWaterLevelCalculated(9.3), + HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0), ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true, @@ -693,5 +671,27 @@ } }; } + + private static AssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput(HydraulicBoundaryLocation hydraulicBoundaryLocation) + { + hydraulicBoundaryLocation.DesignWaterLevelCalculation3.Output = new TestHydraulicBoundaryLocationOutput(9.3); + + return new AssessmentSection(AssessmentSectionComposition.Dike) + { + HydraulicBoundaryDatabase = + { + FilePath = validFilePath, + Locations = + { + hydraulicBoundaryLocation + } + } + }; + } + + private static IEnumerable GetWaterLevels(StabilityStoneCoverWaveConditionsCalculation calculation, AssessmentSection assessmentSection) + { + return calculation.InputParameters.GetWaterLevels(assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation)); + } } } \ No newline at end of file