Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b -r0675953261cf69c17e4cb8e533037f8800ef12a5 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 03dedfcdc1cd61d80f3707a97cb8f3aa1ebe647b) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 0675953261cf69c17e4cb8e533037f8800ef12a5) @@ -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,8 +61,9 @@ 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 StabilityStoneCoverPlugin plugin; private TreeNodeInfo info; @@ -482,8 +484,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 { @@ -707,15 +707,12 @@ public void GivenValidInput_ThenValidationItemEnabled() { // Given - string validHydroDatabasePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, - Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); - var failureMechanism = new StabilityStoneCoverFailureMechanism(); var assessmentSection = mocks.Stub(); assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { - FilePath = validHydroDatabasePath + FilePath = validFilePath }); var parent = new CalculationGroup(); @@ -1032,13 +1029,10 @@ public void GivenCalculation_WhenValidating_ThenCalculationValidated(bool validCalculation) { // Given - string validHydroDatabasePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, - Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); - var failureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, validHydroDatabasePath); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation { @@ -1047,7 +1041,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; @@ -1217,15 +1211,12 @@ public void GivenValidInput_ThenCalculationItemEnabled() { // Given - string validHydroDatabasePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, - Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); - var failureMechanism = new StabilityStoneCoverFailureMechanism(); var assessmentSection = mocks.Stub(); assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { - FilePath = validHydroDatabasePath + FilePath = validFilePath }); var parent = new CalculationGroup(); @@ -1276,14 +1267,12 @@ public void GivenValidCalculation_WhenCalculating_ThenCalculationReturnsResult() { // Given - string validHydroDatabasePath = Path.Combine(testDataPath, "complete.sqlite"); - var failureMechanism = new StabilityStoneCoverFailureMechanism(); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, validHydroDatabasePath); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + var parent = new CalculationGroup(); - StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(); + StabilityStoneCoverWaveConditionsCalculation calculation = GetValidCalculation(assessmentSection.HydraulicBoundaryDatabase.Locations.First()); calculation.Name = "A"; var context = new StabilityStoneCoverWaveConditionsCalculationContext(calculation, parent, @@ -1319,7 +1308,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; @@ -1355,16 +1344,16 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( - failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); + var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation { Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1428,8 +1417,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; @@ -1441,7 +1429,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1504,9 +1492,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 = TestHelper.GetScratchPadPath(); @@ -1517,7 +1505,7 @@ Name = "A", InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = assessmentSection.HydraulicBoundaryDatabase.Locations.First(), LowerBoundaryRevetment = (RoundedDouble) 1.0, UpperBoundaryRevetment = (RoundedDouble) 10.0, StepSize = WaveConditionsInputStepSize.One, @@ -1580,9 +1568,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"; @@ -1833,24 +1821,43 @@ base.TearDown(); } - private static TestHydraulicBoundaryLocation CreateHydraulicBoundaryLocationWithNormativeOutput() + private IAssessmentSection CreateAssessmentSectionWithHydraulicBoundaryOutput() { - return new TestHydraulicBoundaryLocation + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, string.Empty, 0, 0); + + var assessmentSection = new ObservableTestAssessmentSectionStub { - DesignWaterLevelCalculation3 = + 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 StabilityStoneCoverWaveConditionsCalculation GetValidCalculation() + private static StabilityStoneCoverWaveConditionsCalculation GetValidCalculation(HydraulicBoundaryLocation hydraulicBoundaryLocation) { return new StabilityStoneCoverWaveConditionsCalculation { InputParameters = { - HydraulicBoundaryLocation = CreateHydraulicBoundaryLocationWithNormativeOutput(), + HydraulicBoundaryLocation = hydraulicBoundaryLocation, ForeshoreProfile = new TestForeshoreProfile(true), UseForeshore = true, UseBreakWater = true,