Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r2a5b882dc9e52231eea22d40d686b075aa72a1aa -r29cd4757872926f61fce4ba52a46aea08889cbde --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 2a5b882dc9e52231eea22d40d686b075aa72a1aa) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 29cd4757872926f61fce4ba52a46aea08889cbde) @@ -152,13 +152,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(); @@ -190,6 +191,8 @@ var inputContext = (StabilityStoneCoverWaveConditionsInputContext) children[1]; Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(calculation, inputContext.Calculation); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); CollectionAssert.AreEqual(new[] { foreshoreProfile @@ -209,13 +212,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(); @@ -248,6 +252,8 @@ var inputContext = (StabilityStoneCoverWaveConditionsInputContext) children[1]; Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(calculation, inputContext.Calculation); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); CollectionAssert.AreEqual(new[] { foreshoreProfile @@ -421,7 +427,7 @@ { // Setup var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation(); @@ -430,8 +436,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); @@ -459,14 +466,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] @@ -476,11 +484,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 StabilityStoneCoverFailureMechanism(); var parent = new CalculationGroup(); @@ -542,7 +550,7 @@ { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -590,11 +598,11 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenValidationItemDisabled() { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -642,13 +650,13 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenValidationItemDisabled() { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation { @@ -687,7 +695,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); } @@ -702,11 +710,12 @@ Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); var failureMechanism = new StabilityStoneCoverFailureMechanism(); + 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 StabilityStoneCoverWaveConditionsCalculation @@ -756,7 +765,7 @@ public void ContextMenuStrip_CalculationWithoutForeshoreProfile_ContextMenuItemUpdateForeshoreProfileDisabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new StabilityStoneCoverFailureMechanism(); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation(); @@ -794,7 +803,7 @@ public void ContextMenuStrip_CalculationWithForeshoreProfileAndInputInSync_ContextMenuItemUpdateForeshoreProfileDisabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new StabilityStoneCoverFailureMechanism(); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -838,7 +847,7 @@ public void ContextMenuStrip_CalculationWithForeshoreProfileAndInputOutSync_ContextMenuItemUpdateForeshoreProfileEnabledAndToolTipSet() { // Setup - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new StabilityStoneCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(); @@ -888,7 +897,7 @@ var calculationInputObserver = mocks.StrictMock(); calculationInputObserver.Expect(o => o.UpdateObserver()); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new StabilityStoneCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(true); @@ -941,7 +950,7 @@ // Given var calculationObserver = mocks.StrictMock(); var calculationInputObserver = mocks.StrictMock(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var failureMechanism = new StabilityStoneCoverFailureMechanism(); var foreshoreProfileInput = new TestForeshoreProfile(true); @@ -1099,11 +1108,11 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenCalculationItemDisabled() { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -1151,13 +1160,13 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenCalculationItemDisabled() { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation { @@ -1196,7 +1205,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); } @@ -1211,11 +1220,12 @@ Path.Combine("HydraulicBoundaryDatabaseImporter", "complete.sqlite")); var failureMechanism = new StabilityStoneCoverFailureMechanism(); + 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 StabilityStoneCoverWaveConditionsCalculation @@ -1416,17 +1426,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 StabilityStoneCoverWaveConditionsCalculation { @@ -1496,16 +1503,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 StabilityStoneCoverWaveConditionsCalculation @@ -1576,16 +1579,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 StabilityStoneCoverWaveConditionsCalculation @@ -1654,7 +1653,7 @@ { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -1707,7 +1706,7 @@ { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new StabilityStoneCoverWaveConditionsCalculation @@ -1760,7 +1759,7 @@ { // Given var failureMechanism = new StabilityStoneCoverFailureMechanism(); - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var observer = mocks.Stub(); observer.Expect(o => o.UpdateObserver());