Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs =================================================================== diff -u -r3e2a8feb80fe42eb72d66a456a21e030f2d25674 -re14019cefc9ac331b5b1a793c91e6801078ba889 --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 3e2a8feb80fe42eb72d66a456a21e030f2d25674) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision e14019cefc9ac331b5b1a793c91e6801078ba889) @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.Linq; +using Core.Common.Base.Geometry; using NUnit.Framework; using Ringtoets.ClosingStructures.Data; using Ringtoets.Common.Data; @@ -167,6 +168,46 @@ AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); } + [Test] + public void GetAssessmenSectionWithAllFailureMechanismSectionsAndResults_DefaultComposition_ReturnAssessmentSection() + { + // Call + AssessmentSection assessmentSection = TestDataGenerator.GetAssessmensectionWithAllFailureMechanismSectionsAndResults(); + + // Assert + AssertAssessmenSectionWithAllFailureMechanismSectionsAndResults(assessmentSection); + } + + [Test] + [TestCase(AssessmentSectionComposition.Dike)] + [TestCase(AssessmentSectionComposition.DikeAndDune)] + [TestCase(AssessmentSectionComposition.Dune)] + public void GetAssessmenSectionWithAllFailureMechanismSectionsAndResults_CompositionGiven_ReturnAssessmentSection(AssessmentSectionComposition composition) + { + // Call + AssessmentSection assessmentSection = TestDataGenerator.GetAssessmensectionWithAllFailureMechanismSectionsAndResults(composition); + + // Assert + AssertAssessmenSectionWithAllFailureMechanismSectionsAndResults(assessmentSection); + } + + private static void AssertAssessmenSectionWithAllFailureMechanismSectionsAndResults(IAssessmentSection assessmentSection) + { + Assert.IsNotNull(assessmentSection.ReferenceLine); + CollectionAssert.AreEqual(new[] + { + new Point2D(-1, -1), + new Point2D(5, 5), + new Point2D(10, 10), + new Point2D(-3, 2) + }, assessmentSection.ReferenceLine.Points); + + foreach (IFailureMechanism failureMechanism in assessmentSection.GetFailureMechanisms()) + { + AssertHasFailureMechanismSections(failureMechanism); + } + } + private static void AssertHydraulicBoundaryOutput(AssessmentSection assessmentSection, bool hasOutput) { Assert.IsTrue(assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.All(c => c.HasOutput == hasOutput)); Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs =================================================================== diff -u -rf0c2e0726fb0d7a85fd1e192f3775c8dba10605f -re14019cefc9ac331b5b1a793c91e6801078ba889 --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision f0c2e0726fb0d7a85fd1e192f3775c8dba10605f) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision e14019cefc9ac331b5b1a793c91e6801078ba889) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Linq; using Core.Common.Base.Geometry; using Ringtoets.ClosingStructures.Data; @@ -237,6 +238,43 @@ return failureMechanism; } + /// + /// Gets an assessment section where all failure mechanism have sections set. + /// + /// The desired + /// to initialize the with. + /// The configured . + public static AssessmentSection GetAssessmensectionWithAllFailureMechanismSectionsAndResults( + AssessmentSectionComposition composition = AssessmentSectionComposition.Dike) + { + var assessmentSection = new AssessmentSection(composition) + { + ReferenceLine = GetReferenceLine() + }; + + foreach (IFailureMechanism failureMechanism in assessmentSection.GetFailureMechanisms()) + { + AddFailureMechanismSections(failureMechanism); + } + + return assessmentSection; + } + + private static ReferenceLine GetReferenceLine() + { + IEnumerable points = new[] + { + new Point2D(-1, -1), + new Point2D(5, 5), + new Point2D(10, 10), + new Point2D(-3, 2) + }; + + var referenceLine = new ReferenceLine(); + referenceLine.SetGeometry(points); + return referenceLine; + } + private static void SetFullyConfiguredFailureMechanism(GrassCoverErosionInwardsFailureMechanism failureMechanism, HydraulicBoundaryLocation hydraulicBoundaryLocation) {