Index: Riskeer/Revetment/test/Riskeer.Revetment.Data.Test/WaveConditionsInputHelperTest.cs =================================================================== diff -u -r46f67cbfb21c6a0d524d242cddaadd5103c86151 -r617d32a3464bc84a25c83839b0701f5898300829 --- Riskeer/Revetment/test/Riskeer.Revetment.Data.Test/WaveConditionsInputHelperTest.cs (.../WaveConditionsInputHelperTest.cs) (revision 46f67cbfb21c6a0d524d242cddaadd5103c86151) +++ Riskeer/Revetment/test/Riskeer.Revetment.Data.Test/WaveConditionsInputHelperTest.cs (.../WaveConditionsInputHelperTest.cs) (revision 617d32a3464bc84a25c83839b0701f5898300829) @@ -20,13 +20,15 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.ComponentModel; using Core.Common.Base.Data; using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.Contribution; using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Data.Hydraulics; using Riskeer.Common.Data.TestUtil; using Riskeer.Revetment.Data.TestUtil; @@ -187,6 +189,27 @@ } [Test] + [TestCaseSource(nameof(GetTargetProbabilityConfigurations))] + public void GetTargetProbability_ValidInput_ReturnsExpectedValue(WaveConditionsInputWaterLevelType waterLevelType, + Func getExpectedTargetProbability) + { + // Setup + var input = new TestWaveConditionsInput + { + WaterLevelType = waterLevelType, + CalculationsTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.01) + }; + + var assessmentSection = new AssessmentSectionStub(); + + // Call + double targetProbability = WaveConditionsInputHelper.GetTargetProbability(input, assessmentSection); + + // Assert + Assert.AreEqual(getExpectedTargetProbability(input, assessmentSection), targetProbability); + } + + [Test] public void GetAssessmentLevel_InputNull_ThrowsArgumentNullException() { // Call @@ -226,5 +249,21 @@ var exception = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(Call, expectedMessage); Assert.AreEqual("WaterLevelType", exception.ParamName); } + + private static IEnumerable GetTargetProbabilityConfigurations() + { + yield return new TestCaseData( + WaveConditionsInputWaterLevelType.None, + (Func) ((input, assessmentSection) => double.NaN)); + yield return new TestCaseData( + WaveConditionsInputWaterLevelType.LowerLimit, + (Func) ((input, assessmentSection) => assessmentSection.FailureMechanismContribution.LowerLimitNorm)); + yield return new TestCaseData( + WaveConditionsInputWaterLevelType.Signaling, + (Func) ((input, assessmentSection) => assessmentSection.FailureMechanismContribution.SignalingNorm)); + yield return new TestCaseData( + WaveConditionsInputWaterLevelType.UserDefinedTargetProbability, + (Func) ((input, assessmentSection) => input.CalculationsTargetProbability.TargetProbability)); + } } } \ No newline at end of file