Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/AssessmentSectionExtensionsTest.cs =================================================================== diff -u -rc7bcefdb8bb20a28392fdb9eaf8506bb52d680c7 -r3498b00cbb08beddf6f6e9e60ff432ab708fb3b6 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/AssessmentSectionExtensionsTest.cs (.../AssessmentSectionExtensionsTest.cs) (revision c7bcefdb8bb20a28392fdb9eaf8506bb52d680c7) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/AssessmentSection/AssessmentSectionExtensionsTest.cs (.../AssessmentSectionExtensionsTest.cs) (revision 3498b00cbb08beddf6f6e9e60ff432ab708fb3b6) @@ -209,6 +209,21 @@ Assert.IsNaN(assessmentLevel); } + [Test] + [TestCaseSource(nameof(DifferentCategoryTypes))] + public void GetAssessmentLevel_HydraulicBoundaryLocationWithOutput_ReturnsCorrespondingAssessmentLevel( + IAssessmentSection assessmentSection, + HydraulicBoundaryLocation hydraulicBoundaryLocation, + AssessmentSectionCategoryType categoryType, + RoundedDouble expectedAssessmentLevel) + { + // Call + RoundedDouble assessmentLevel = assessmentSection.GetAssessmentLevel(hydraulicBoundaryLocation, categoryType); + + // Assert + Assert.AreEqual(expectedAssessmentLevel, assessmentLevel); + } + private static IEnumerable DifferentNormTypes() { var assessmentSection = new AssessmentSectionStub(); @@ -233,5 +248,44 @@ assessmentSection.WaterLevelCalculationsForLowerLimitNorm.ElementAt(0).Output.Result ).SetName("LowerLimitNorm"); } + + private static IEnumerable DifferentCategoryTypes() + { + var assessmentSection = new AssessmentSectionStub(); + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }, true); + + yield return new TestCaseData( + assessmentSection, + hydraulicBoundaryLocation, + AssessmentSectionCategoryType.FactorizedSignalingNorm, + assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.ElementAt(0).Output.Result + ).SetName("FactorizedSignalingNorm"); + + yield return new TestCaseData( + assessmentSection, + hydraulicBoundaryLocation, + AssessmentSectionCategoryType.SignalingNorm, + assessmentSection.WaterLevelCalculationsForSignalingNorm.ElementAt(0).Output.Result + ).SetName("SignalingNorm"); + + yield return new TestCaseData( + assessmentSection, + hydraulicBoundaryLocation, + AssessmentSectionCategoryType.LowerLimitNorm, + assessmentSection.WaterLevelCalculationsForLowerLimitNorm.ElementAt(0).Output.Result + ).SetName("LowerLimitNorm"); + + yield return new TestCaseData( + assessmentSection, + hydraulicBoundaryLocation, + AssessmentSectionCategoryType.FactorizedLowerLimitNorm, + assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm.ElementAt(0).Output.Result + ).SetName("FactorizedLowerLimitNorm"); + } } } \ No newline at end of file