Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r315129be0214e8ac9c35f1050a73a988c999c29f -rc0532d07766ecad2566f7cfa4a97a9aeb6e8540c --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 315129be0214e8ac9c35f1050a73a988c999c29f) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision c0532d07766ecad2566f7cfa4a97a9aeb6e8540c) @@ -154,13 +154,14 @@ var location = new TestHydraulicBoundaryLocation(); var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { Locations = { location } - }; + }); + mocks.ReplayAll(); var parent = new CalculationGroup(); @@ -210,13 +211,14 @@ var location = new TestHydraulicBoundaryLocation(); var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { Locations = { location } - }; + }); + mocks.ReplayAll(); var parent = new CalculationGroup(); @@ -415,7 +417,7 @@ { // Setup var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); @@ -424,8 +426,9 @@ failureMechanism, assessmentSection); - var menuBuilder = mocks.StrictMock(); - using (mocks.Ordered()) + var orderedMocks = new MockRepository(); + var menuBuilder = orderedMocks.StrictMock(); + using (orderedMocks.Ordered()) { menuBuilder.Expect(mb => mb.AddExportItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); @@ -453,14 +456,15 @@ gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); + orderedMocks.ReplayAll(); plugin.Gui = gui; // Call info.ContextMenuStrip(context, null, treeViewControl); } // Assert - // Assert expectancies are called in TearDown() + orderedMocks.VerifyAll(); } [Test] @@ -470,11 +474,11 @@ string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { FilePath = validFilePath, Version = "random" - }; + }); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var parent = new CalculationGroup(); @@ -531,7 +535,7 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenValidationItemDisabled() { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -540,7 +544,7 @@ new Point2D(0, 0), new Point2D(1, 1) })); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -588,7 +592,7 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenValidationItemDisabled() { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -597,9 +601,9 @@ new Point2D(0, 0), new Point2D(1, 1) })); - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation { @@ -638,7 +642,7 @@ TestHelper.AssertContextMenuStripContainsItem(contextMenu, validateMenuItemIndex, "&Valideren", - "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand '': bestandspad mag niet leeg of ongedefinieerd zijn.", + "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand 'invalidFilePath': het bestand bestaat niet.", RingtoetsCommonFormsResources.ValidateIcon, false); } @@ -657,11 +661,12 @@ new Point2D(0, 0), new Point2D(1, 1) })); + var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { FilePath = validHydroDatabasePath - }; + }); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -711,7 +716,7 @@ public void ContextMenuStrip_CalculationWithoutForeshoreProfile_ContextMenuItemUpdateForeshoreProfileDisabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); @@ -749,7 +754,7 @@ public void ContextMenuStrip_CalculationWithForeshoreProfileAndInputInSync_ContextMenuItemUpdateForeshoreProfileDisabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -793,7 +798,7 @@ public void ContextMenuStrip_CalculationWithForeshoreProfileAndInputOutSync_ContextMenuItemUpdateForeshoreProfileEnabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(); @@ -843,7 +848,7 @@ var calculationInputObserver = mocks.StrictMock(); calculationInputObserver.Expect(o => o.UpdateObserver()); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(true); @@ -896,7 +901,7 @@ // Given var calculationObserver = mocks.StrictMock(); var calculationInputObserver = mocks.StrictMock(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(true); @@ -998,7 +1003,7 @@ { calculation.InputParameters.HydraulicBoundaryLocation = new TestHydraulicBoundaryLocation { - DesignWaterLevelCalculation = + DesignWaterLevelCalculation1 = { Output = new TestHydraulicBoundaryLocationOutput(12) } @@ -1143,17 +1148,14 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(testDataPath, "complete.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = false, - PreprocessorDirectory = "InvalidPreprocessorDirectory" - }; + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = false; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; + var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation { @@ -1223,16 +1225,12 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(testDataPath, "complete.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = TestHelper.GetScratchPadPath() - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = TestHelper.GetScratchPadPath(); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1303,16 +1301,12 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(testDataPath, "complete.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = "InvalidPreprocessorDirectory" - }; + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = "InvalidPreprocessorDirectory"; var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1377,11 +1371,11 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenCalculationItemDisabled() { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1429,7 +1423,7 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenCalculationItemDisabled() { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); @@ -1438,9 +1432,9 @@ new Point2D(0, 0), new Point2D(1, 1) })); - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation { @@ -1479,7 +1473,7 @@ TestHelper.AssertContextMenuStripContainsItem(contextMenu, calculateMenuItemIndex, "Be&rekenen", - "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand '': bestandspad mag niet leeg of ongedefinieerd zijn.", + "Herstellen van de verbinding met de hydraulische randvoorwaardendatabase is mislukt. Fout bij het lezen van bestand 'invalidFilePath': het bestand bestaat niet.", RingtoetsCommonFormsResources.CalculateIcon, false); } @@ -1498,11 +1492,12 @@ new Point2D(0, 0), new Point2D(1, 1) })); + var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + assessmentSection.Stub(a => a.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase { FilePath = validHydroDatabasePath - }; + }); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1636,7 +1631,7 @@ { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1689,7 +1684,7 @@ { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation @@ -1741,7 +1736,7 @@ { // Given var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var observer = mocks.Stub(); observer.Expect(o => o.UpdateObserver());