Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r2a5b882dc9e52231eea22d40d686b075aa72a1aa -r29cd4757872926f61fce4ba52a46aea08889cbde --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 2a5b882dc9e52231eea22d40d686b075aa72a1aa) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 29cd4757872926f61fce4ba52a46aea08889cbde) @@ -312,13 +312,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(); @@ -356,6 +357,8 @@ var inputContext = (GrassCoverErosionOutwardsWaveConditionsInputContext) children[1]; Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(calculation, inputContext.Calculation); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); CollectionAssert.AreEqual(new[] { foreshoreProfile @@ -375,13 +378,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(); @@ -419,6 +423,8 @@ var inputContext = (GrassCoverErosionOutwardsWaveConditionsInputContext) children[1]; Assert.AreSame(calculation.InputParameters, inputContext.WrappedData); + Assert.AreSame(calculation, inputContext.Calculation); + Assert.AreSame(assessmentSection, inputContext.AssessmentSection); CollectionAssert.AreEqual(new[] { foreshoreProfile @@ -492,11 +498,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 GrassCoverErosionOutwardsFailureMechanism { @@ -556,15 +562,16 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenValidationItemDisabled() { // Given var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); + var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation { @@ -611,16 +618,16 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenValidationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenValidationItemDisabled() { // Given var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation { @@ -659,7 +666,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); } @@ -676,11 +683,12 @@ { Contribution = 0 }; + 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 GrassCoverErosionOutwardsWaveConditionsCalculation @@ -737,11 +745,12 @@ { Contribution = 5 }; + 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 GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1051,6 +1060,7 @@ { Contribution = 5 }; + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); @@ -1131,6 +1141,7 @@ { Contribution = 5 }; + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); @@ -1203,17 +1214,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 GrassCoverErosionOutwardsWaveConditionsCalculation { @@ -1283,17 +1291,14 @@ { Contribution = 5 }; - IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( - failureMechanism, mocks); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - FilePath = Path.Combine(testDataPath, "complete.sqlite"), - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = TestHelper.GetScratchPadPath() - }; + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub( + failureMechanism, mocks, Path.Combine(testDataPath, "complete.sqlite")); + assessmentSection.HydraulicBoundaryDatabase.CanUsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.UsePreprocessor = true; + assessmentSection.HydraulicBoundaryDatabase.PreprocessorDirectory = TestHelper.GetScratchPadPath(); + var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation { @@ -1363,16 +1368,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 GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1437,14 +1438,14 @@ } [Test] - public void GivenAssessmentSectionWithoutHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseNotLinked_ThenCalculationItemDisabled() { // Given var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(mocks); var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1492,16 +1493,16 @@ } [Test] - public void GivenAssessmentSectionWithInvalidHydraulicBoundaryDatabase_ThenCalculationItemDisabled() + public void GivenAssessmentSectionWithHydraulicBoundaryDatabaseLinkedToInvalidFile_ThenCalculationItemDisabled() { // Given var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism { Contribution = 5 }; - var assessmentSection = mocks.Stub(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(null, mocks, "invalidFilePath"); + var parent = new CalculationGroup(); var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation { @@ -1540,7 +1541,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); } @@ -1557,11 +1558,12 @@ { Contribution = 0 }; + 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 GrassCoverErosionOutwardsWaveConditionsCalculation @@ -1618,11 +1620,12 @@ { Contribution = 5 }; + 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 GrassCoverErosionOutwardsWaveConditionsCalculation