Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs =================================================================== diff -u -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b -r2dcffedf1540df6d33d778b9265b55b5dea2d2a9 --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision 2dcffedf1540df6d33d778b9265b55b5dea2d2a9) @@ -28,6 +28,7 @@ using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.HydraRing.Data; using RingtoetsIntegrationResources = Ringtoets.Integration.Data.Properties.Resources; namespace Ringtoets.Integration.Data.Test @@ -324,6 +325,96 @@ Assert.AreEqual(double.NaN, assessmentSection.PipingFailureMechanism.PipingProbabilityAssessmentInput.SectionLength); } + [Test] + public void HydraulicBoundaryDatabase_SetNewValue_GetNewValue() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + + // Call + assessmentSection.HydraulicBoundaryDatabase = hydraulicBoundaryDatabase; + + // Assert + Assert.AreSame(hydraulicBoundaryDatabase, assessmentSection.HydraulicBoundaryDatabase); + } + + [Test] + public void HydraulicBoundaryDatabase_HydraulicBoundaryDatabaseWithLocations_GrassCoverErosionOutwardsHydraulicBoundaryLocationsSet() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "", 0, 0); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + Locations = + { + hydraulicBoundaryLocation + } + }; + + // Call + assessmentSection.HydraulicBoundaryDatabase = hydraulicBoundaryDatabase; + + // Assert + Assert.AreEqual(1, assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations.Count); + + var grassCoverErosionOutwardsLocation = assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations.First(); + Assert.AreSame(hydraulicBoundaryLocation, grassCoverErosionOutwardsLocation.HydraulicBoundaryLocation); + } + + [Test] + public void HydraulicBoundaryDatabase_HydraulicBoundaryDatabaseWithoutLocations_GrassCoverErosionOutwardsHydraulicBoundaryLocationsEmpty() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + Locations = + { + new HydraulicBoundaryLocation(1, "", 0, 0) + } + }; + assessmentSection.HydraulicBoundaryDatabase = hydraulicBoundaryDatabase; + + // Precondition + Assert.AreEqual(1, assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations.Count); + + var emptyHydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + + // Call + assessmentSection.HydraulicBoundaryDatabase = emptyHydraulicBoundaryDatabase; + + // Assert + Assert.AreSame(emptyHydraulicBoundaryDatabase, assessmentSection.HydraulicBoundaryDatabase); + CollectionAssert.IsEmpty(assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations); + } + + [Test] + public void HydraulicBoundaryDatabase_HydraulicBoundaryDatabaseNull_GrassCoverErosionOutwardsHydraulicBoundaryLocationsEmpty() + { + // Setup + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + Locations = + { + new HydraulicBoundaryLocation(1, "", 0, 0) + } + }; + assessmentSection.HydraulicBoundaryDatabase = hydraulicBoundaryDatabase; + + // Precondition + Assert.AreEqual(1, assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations.Count); + + // Call + assessmentSection.HydraulicBoundaryDatabase = null; + + // Assert + CollectionAssert.IsEmpty(assessmentSection.GrassCoverErosionOutwards.GrassCoverErosionOutwardsHydraulicBoundaryLocations); + } + private IFailureMechanism[] GetExpectedContributingFailureMechanisms(AssessmentSection section) { return new IFailureMechanism[]