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)
{