Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs =================================================================== diff -u -rf7a6a3b0cee4ef5d04d2dc22b3746fedfd4bf3bd -rcff4b928800b2a49ccaaaa49e7c87755d79b0169 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision f7a6a3b0cee4ef5d04d2dc22b3746fedfd4bf3bd) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationServiceTest.cs) (revision cff4b928800b2a49ccaaaa49e7c87755d79b0169) @@ -35,6 +35,7 @@ using Ringtoets.Common.Service; using Ringtoets.Common.Service.TestUtil; using Ringtoets.GrassCoverErosionOutwards.Data; +using Ringtoets.GrassCoverErosionOutwards.Util.TestUtil; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.WaveConditions; @@ -448,17 +449,13 @@ calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Twice(); mockRepository.ReplayAll(); - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetDefaultCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); calculation.InputParameters.ForeshoreProfile = new TestForeshoreProfile(new BreakWater(BreakWaterType.Dam, breakWaterHeight)); calculation.InputParameters.UseBreakWater = false; - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call @@ -504,12 +501,8 @@ calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Twice(); mockRepository.ReplayAll(); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetDefaultCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); switch (calculationType) @@ -567,15 +560,11 @@ public void Calculate_Always_InputPropertiesCorrectlySendToCalculator(BreakWaterType breakWaterType) { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); calculation.InputParameters.BreakWater.Type = breakWaterType; - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var waveConditionsCosineCalculator = new TestWaveConditionsCosineCalculator(); var mockRepository = new MockRepository(); @@ -628,14 +617,10 @@ public void Calculate_Canceled_HasNoOutput() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetDefaultCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); mockRepository.ReplayAll(); @@ -662,13 +647,10 @@ public void Calculate_CancelCalculationWithValidInput_CancelsCalculatorAndHasNullOutput() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetDefaultCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; var waveConditionsCosineCalculator = new TestWaveConditionsCosineCalculator(); var mockRepository = new MockRepository(); @@ -699,14 +681,10 @@ public void Calculate_WithValidInput_SetsOutput() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(3); @@ -738,14 +716,10 @@ string detailedReport) { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var calculatorThatFails = new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, @@ -828,15 +802,11 @@ string detailedReport) { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); + GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - const double failureMechanismContribution = 20; - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = failureMechanismContribution - }; - var calculatorThatFails = new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, @@ -896,7 +866,7 @@ Assert.AreEqual(3, waveConditionsOutputs.Length); double targetNorm = CalculateTargetNorm(assessmentSection.FailureMechanismContribution.Norm, - failureMechanismContribution, + failureMechanism.Contribution, failureMechanism.GeneralInput.N); WaveConditionsOutputTestHelper.AssertFailedOutput(waterLevelUpperBoundaryRevetment, targetNorm, @@ -910,14 +880,10 @@ public void Calculate_HydraulicBoundaryDatabaseWithCanUsePreprocessorFalse_ExpectedPreprocessorDirectorySetToCalculator() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var grassCoverErosionOutwardsFailureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(3); @@ -927,7 +893,7 @@ { // Call new GrassCoverErosionOutwardsWaveConditionsCalculationService().Calculate(calculation, - grassCoverErosionOutwardsFailureMechanism, + failureMechanism, assessmentSection, validFilePath); } @@ -940,14 +906,10 @@ public void Calculate_HydraulicBoundaryDatabaseWithUsePreprocessorTrue_ExpectedPreprocessorDirectorySetToCalculator() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, validPreprocessorDirectory)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(3); @@ -974,14 +936,10 @@ public void Calculate_HydraulicBoundaryDatabaseWithUsePreprocessorFalse_ExpectedPreprocessorDirectorySetToCalculator() { // Setup - IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + AssessmentSectionStub assessmentSection = CreateAssessmentSection(); + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFailureMechanismWithHydraulicBoundaryOutput(assessmentSection); GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - Contribution = 20 - }; - var mockRepository = new MockRepository(); var calculatorFactory = mockRepository.StrictMock(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(3); @@ -1004,34 +962,35 @@ mockRepository.VerifyAll(); } - private static IAssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput() + private static AssessmentSectionStub CreateAssessmentSection() { - var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); - - var assessmentSection = new AssessmentSectionStub + return new AssessmentSectionStub { FailureMechanismContribution = { NormativeNorm = NormType.LowerLimit }, HydraulicBoundaryDatabase = { - FilePath = validFilePath, - Locations = - { - hydraulicBoundaryLocation - } + FilePath = validFilePath } }; + } - assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + private static GrassCoverErosionOutwardsFailureMechanism CreateFailureMechanismWithHydraulicBoundaryOutput(AssessmentSectionStub assessmentSection) + { + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { - hydraulicBoundaryLocation - }); - - assessmentSection.WaterLevelCalculationsForLowerLimitNorm.First().Output = new TestHydraulicBoundaryLocationOutput(9.3); - - return assessmentSection; + Contribution = 20 + }; + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.SetHydraulicBoundaryLocations( + failureMechanism, + assessmentSection, new[] + { + new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0) + }); + failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm.First().Output = new TestHydraulicBoundaryLocationOutput(9.3); + return failureMechanism; } private static double CalculateTargetNorm(double norm, double contribution, RoundedDouble N)