Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r2ab89f4256cd77d3386c27ca1cbd49a16f4abba2 -rc77700f7e4ad3e6abebd13ec31c4d2e06f41d2a6 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 2ab89f4256cd77d3386c27ca1cbd49a16f4abba2) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision c77700f7e4ad3e6abebd13ec31c4d2e06f41d2a6) @@ -39,6 +39,7 @@ using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.TestUtil; @@ -60,7 +61,7 @@ private const int validateMenuItemIndex = 7; private const int calculateMenuItemIndex = 8; private const int clearOutputMenuItemIndex = 10; - private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, "HydraulicBoundaryDatabaseImporter"); + private readonly string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); private MockRepository mocks; private GrassCoverErosionOutwardsPlugin plugin; @@ -496,8 +497,6 @@ public void ContextMenuStrip_Always_AddCustomItems() { // Setup - string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); - var assessmentSection = mocks.Stub(); assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { @@ -678,8 +677,6 @@ public void GivenFailureMechanismContributionZero_ThenValidationItemDisabled() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 0 @@ -688,7 +685,7 @@ var assessmentSection = mocks.Stub(); assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { - FilePath = validHydroDatabasePath + FilePath = validFilePath }); var parent = new CalculationGroup(); @@ -740,18 +737,12 @@ public void GivenValidInput_ThenValidationItemEnabled() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase - { - FilePath = validHydroDatabasePath - }); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation @@ -842,8 +833,13 @@ var assessmentSection = mocks.Stub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); var parent = new CalculationGroup(); - var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); - calculation.InputParameters.ForeshoreProfile = new TestForeshoreProfile(); + var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + InputParameters = + { + ForeshoreProfile = new TestForeshoreProfile() + } + }; var nodeData = new GrassCoverErosionOutwardsWaveConditionsCalculationContext(calculation, parent, @@ -883,8 +879,13 @@ var foreshoreProfileInput = new TestForeshoreProfile(); var parent = new CalculationGroup(); - var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); - calculation.InputParameters.ForeshoreProfile = foreshoreProfileInput; + var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + InputParameters = + { + ForeshoreProfile = foreshoreProfileInput + } + }; TestForeshoreProfile.ChangeBreakWaterProperties(foreshoreProfileInput); var nodeData = new GrassCoverErosionOutwardsWaveConditionsCalculationContext(calculation, @@ -1062,8 +1063,7 @@ Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1073,7 +1073,7 @@ if (validCalculation) { - calculation.InputParameters.HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(); + calculation.InputParameters.HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(); calculation.InputParameters.LowerBoundaryRevetment = (RoundedDouble) 1.0; calculation.InputParameters.UpperBoundaryRevetment = (RoundedDouble) 10.0; calculation.InputParameters.StepSize = WaveConditionsInputStepSize.One; @@ -1143,16 +1143,15 @@ Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation { Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1216,8 +1215,7 @@ Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = false; @@ -1229,7 +1227,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1293,9 +1291,7 @@ Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); - + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = TestHelper.GetScratchPadPath(); @@ -1306,7 +1302,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1369,9 +1365,9 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; @@ -1382,13 +1378,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = new TestHydraulicBoundaryLocation - { - DesignWaterLevelCalculation1 = - { - Output = new TestHydraulicBoundaryLocationOutput(12) - } - }, + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1559,8 +1549,6 @@ public void GivenFailureMechanismContributionZero_ThenCalculationItemDisabled() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 0 @@ -1569,7 +1557,7 @@ var assessmentSection = mocks.Stub(); assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { - FilePath = validHydroDatabasePath + FilePath = validFilePath }); var parent = new CalculationGroup(); @@ -1621,18 +1609,12 @@ public void GivenValidInput_ThenCalculationItemEnabled() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); - assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase - { - FilePath = validHydroDatabasePath - }); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1682,17 +1664,14 @@ public void GivenValidCalculation_WhenCalculating_ThenCalculationReturnsResult() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 10 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, validHydroDatabasePath); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); var parent = new CalculationGroup(); - GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(); + GrassCoverErosionOutwardsWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); calculation.Name = "A"; var context = new GrassCoverErosionOutwardsWaveConditionsCalculationContext(calculation, parent, @@ -1728,7 +1707,7 @@ gui.Stub(g => g.MainWindow).Return(mainWindow); var calculatorFactory = mocks.Stub(); - calculatorFactory.Stub(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, string.Empty)).Return(new TestWaveConditionsCosineCalculator()); + calculatorFactory.Stub(cf => cf.CreateWaveConditionsCosineCalculator(Path.GetDirectoryName(validFilePath), string.Empty)).Return(new TestWaveConditionsCosineCalculator()); mocks.ReplayAll(); plugin.Gui = gui; @@ -1933,24 +1912,43 @@ mocks.VerifyAll(); } - private static TestHydraulicBoundaryLocation CreateHydraulicBoundaryLocationWithNormativeOutput() + private IAssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput() { - return new TestHydraulicBoundaryLocation + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); + + var assessmentSection = new AssessmentSectionStub { - DesignWaterLevelCalculation1 = + FailureMechanismContribution = { - Output = new TestHydraulicBoundaryLocationOutput(12) + NormativeNorm = NormType.LowerLimit + }, + HydraulicBoundaryDatabase = + { + FilePath = validFilePath, + Locations = + { + hydraulicBoundaryLocation + } } }; + + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }); + + assessmentSection.WaterLevelCalculationsForLowerLimitNorm.First().Output = new TestHydraulicBoundaryLocationOutput(9.3); + + return assessmentSection; } - private static GrassCoverErosionOutwardsWaveConditionsCalculation GetValidCalculation() + private static GrassCoverErosionOutwardsWaveConditionsCalculation GetValidCalculation(HydraulicBoundaryLocation location) { return new GrassCoverErosionOutwardsWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = location, ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true,