Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs =================================================================== diff -u -rb6c5a6803f86609b579a26f76efebe2ed658d829 -raacb07cede4cf74a24528a1d466ac03e1d69f284 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs (.../AssessmentSectionHelperTest.cs) (revision b6c5a6803f86609b579a26f76efebe2ed658d829) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs (.../AssessmentSectionHelperTest.cs) (revision aacb07cede4cf74a24528a1d466ac03e1d69f284) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using System.Collections.Generic; using System.Linq; using Core.Common.Base.Data; using Core.Common.Base.Geometry; @@ -147,5 +149,47 @@ // Call & Assert Assert.AreEqual(AssessmentSectionHelper.GetTestNormativeAssessmentLevel(), AssessmentSectionHelper.GetTestNormativeAssessmentLevel()); } + + [Test] + public void GetAssessmentLevelConfigurationPerAssessmentSectionCategoryType_Always_ReturnsExpectedTestCaseDataCollection() + { + // Call + TestCaseData[] testCaseDataCollection = AssessmentSectionHelper.GetAssessmentLevelConfigurationPerAssessmentSectionCategoryType().ToArray(); + + // Assert + AssertTestCaseData(testCaseDataCollection, + "FactorizedSignalingNorm", + AssessmentSectionCategoryType.FactorizedSignalingNorm, + a => a.WaterLevelCalculationsForFactorizedSignalingNorm); + AssertTestCaseData(testCaseDataCollection, + "SignalingNorm", + AssessmentSectionCategoryType.SignalingNorm, + a => a.WaterLevelCalculationsForSignalingNorm); + AssertTestCaseData(testCaseDataCollection, + "LowerLimitNorm", + AssessmentSectionCategoryType.LowerLimitNorm, + a => a.WaterLevelCalculationsForLowerLimitNorm); + AssertTestCaseData(testCaseDataCollection, + "FactorizedLowerLimitNorm", + AssessmentSectionCategoryType.FactorizedLowerLimitNorm, + a => a.WaterLevelCalculationsForFactorizedLowerLimitNorm); + } + + private static void AssertTestCaseData(IEnumerable testCaseDataCollection, + string expectedTestName, + AssessmentSectionCategoryType categoryType, + Func> getCalculationsFunc) + { + TestCaseData testCaseData = testCaseDataCollection.Single(td => categoryType.Equals(td.Arguments.ElementAt(2))); + + Assert.AreEqual(expectedTestName, testCaseData.TestName); + + var assessmentSection = (IAssessmentSection) testCaseData.Arguments.ElementAt(0); + var hydraulicBoundaryLocation = (HydraulicBoundaryLocation) testCaseData.Arguments.ElementAt(1); + var assessmentLevel = (RoundedDouble) testCaseData.Arguments.ElementAt(3); + + RoundedDouble expectedAssessmentLevel = getCalculationsFunc(assessmentSection).First(c => ReferenceEquals(c.HydraulicBoundaryLocation, hydraulicBoundaryLocation)).Output.Result; + Assert.AreEqual(expectedAssessmentLevel, assessmentLevel); + } } } \ No newline at end of file