Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r315129be0214e8ac9c35f1050a73a988c999c29f -r80de235bcb060dec1747e166ac28c1c8db92a20a --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision 315129be0214e8ac9c35f1050a73a988c999c29f) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision 80de235bcb060dec1747e166ac28c1c8db92a20a) @@ -235,7 +235,7 @@ // Setup var group = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var groupContext = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, null, failureMechanism, @@ -287,7 +287,7 @@ // Setup var group = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var groupContext = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, null, failureMechanism, @@ -352,7 +352,7 @@ var group = new CalculationGroup(); var parentGroup = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var groupContext = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, parentGroup, failureMechanism, @@ -409,7 +409,7 @@ var group = new CalculationGroup(); var parentGroup = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var groupContext = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, parentGroup, failureMechanism, @@ -473,7 +473,7 @@ public void ContextMenuStrip_WithoutParentNodeWithoutHydraulicLocationsDefaultBehavior_ReturnContextMenuWithoutRenameRemove() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -573,13 +573,14 @@ { // Setup var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { Locations = { new TestHydraulicBoundaryLocation() } - }; + }); + var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(failureMechanism.WaveConditionsCalculationGroup, @@ -683,7 +684,7 @@ var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var group = new CalculationGroup(); failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, failureMechanism, @@ -714,7 +715,7 @@ } [Test] - public void ContextMenuStrip_NoHydraulicBoundaryDatabase_CalculateAllAndValidateAllDisabled() + public void ContextMenuStrip_HydraulicBoundaryDatabaseNotLinked_CalculateAllAndValidateAllDisabled() { // Setup using (var treeViewControl = new TreeViewControl()) @@ -723,7 +724,7 @@ var group = new CalculationGroup(); group.Children.Add(new WaveImpactAsphaltCoverWaveConditionsCalculation()); failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, failureMechanism, @@ -754,7 +755,7 @@ } [Test] - public void ContextMenuStrip_HydraulicBoundaryDatabaseNotValid_CalculateAllAndValidateAllDisabled() + public void ContextMenuStrip_HydraulicBoundaryDatabaseLinkedToInvalidFile_CalculateAllAndValidateAllDisabled() { // Setup using (var treeViewControl = new TreeViewControl()) @@ -763,11 +764,9 @@ var group = new CalculationGroup(); group.Children.Add(new WaveImpactAsphaltCoverWaveConditionsCalculation()); failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = "" - }; + + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, failureMechanism, @@ -791,7 +790,7 @@ ToolStripItem calculateItem = contextMenu.Items[contextMenuCalculateAllIndexNestedGroup]; Assert.IsFalse(validateItem.Enabled); Assert.IsFalse(calculateItem.Enabled); - const string message = "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand '': bestandspad mag niet leeg of ongedefinieerd zijn."; + const string message = "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand 'invalidFilePath': het bestand bestaat niet."; Assert.AreEqual(message, calculateItem.ToolTipText); Assert.AreEqual(message, validateItem.ToolTipText); } @@ -811,11 +810,13 @@ var group = new CalculationGroup(); group.Children.Add(new WaveImpactAsphaltCoverWaveConditionsCalculation()); failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); + var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { FilePath = validHydroDatabasePath - }; + }); + var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, failureMechanism, @@ -1023,16 +1024,12 @@ }; failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(hrdPath, "HRD ijsselmeer.sqlite")); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(hrdPath, "HRD ijsselmeer.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = false, - PreprocessorDirectory = "InvalidPreprocessorDirectory" - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = false; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, @@ -1098,16 +1095,12 @@ }; failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(hrdPath, "HRD ijsselmeer.sqlite")); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(hrdPath, "HRD ijsselmeer.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = TestHelper.GetScratchPadPath() - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = TestHelper.GetScratchPadPath(); var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, @@ -1173,16 +1166,12 @@ }; failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(hrdPath, "HRD ijsselmeer.sqlite")); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(hrdPath, "HRD ijsselmeer.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = "InvalidPreprocessorDirectory" - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, failureMechanism.WaveConditionsCalculationGroup, @@ -1268,7 +1257,7 @@ int nrOfCalculators = failureMechanism.Calculations .Cast() - .Sum(c => c.InputParameters.WaterLevels.Count()); + .Sum(c => c.InputParameters.GetWaterLevels(c.InputParameters.AssessmentLevel).Count()); var calculatorFactory = mocks.Stub(); calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(hrdPath, string.Empty)) .Return(new TestWaveConditionsCosineCalculator()) @@ -1479,7 +1468,7 @@ // Setup using (var treeViewControl = new TreeViewControl()) { - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var group = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -1549,14 +1538,15 @@ var assessmentSection = mocks.Stub(); var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation(); var hydraulicBoundaryLocation2 = new TestHydraulicBoundaryLocation(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { Locations = { hydraulicBoundaryLocation1, hydraulicBoundaryLocation2 } - }; + }); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); @@ -1615,13 +1605,14 @@ var group = new CalculationGroup(); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { Locations = { new TestHydraulicBoundaryLocation() } - }; + }); var observer = mocks.StrictMock(); var nodeData = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(group, @@ -1701,7 +1692,7 @@ { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(failureMechanism.WaveConditionsCalculationGroup, null, @@ -1750,7 +1741,7 @@ var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); failureMechanism.WaveConditionsCalculationGroup.Attach(observer); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var context = new WaveImpactAsphaltCoverWaveConditionsCalculationGroupContext(failureMechanism.WaveConditionsCalculationGroup, null, @@ -1795,7 +1786,7 @@ public void ContextMenuStrip_CalculationGroupWithCalculationWithForeshoreProfileAndInputOutOfSync_ContextMenuItemUpdateForeshoreProfilesEnabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation { @@ -1846,7 +1837,7 @@ var calculationInputObserver = mocks.StrictMock(); calculationInputObserver.Expect(o => o.UpdateObserver()); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation