Index: Ringtoets/Common/src/Ringtoets.Common.Service/ProbabilityAssessmentService.cs
===================================================================
diff -u -r678dc8c8dbb01fd889a082ae88c9f9d42f597a10 -r1957c54820f55f8de15e34add4577a78b2e96850
--- Ringtoets/Common/src/Ringtoets.Common.Service/ProbabilityAssessmentService.cs (.../ProbabilityAssessmentService.cs) (revision 678dc8c8dbb01fd889a082ae88c9f9d42f597a10)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/ProbabilityAssessmentService.cs (.../ProbabilityAssessmentService.cs) (revision 1957c54820f55f8de15e34add4577a78b2e96850)
@@ -19,7 +19,6 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
-using System;
using MathNet.Numerics.Distributions;
using Ringtoets.Common.Data.Probability;
@@ -31,19 +30,16 @@
public static class ProbabilityAssessmentService
{
///
- /// Calculates the given and .
+ /// Calculates based on the provided parameters.
///
- /// The probability assesment input to use for the calculation.
+ /// The return period to assess for.
+ /// The contribution of the failure mechanism as a percentage (0-100)
+ /// to the total of the failure probability of the assessment section.
+ /// The 'N' parameter used to factor in the 'length effect'.
/// The reliability to use for the calculation.
- /// Thrown when is null.
- public static ProbabilityAssessmentOutput Calculate(ProbabilityAssessmentInput probabilityAssessmentInput, double reliability)
+ public static ProbabilityAssessmentOutput Calculate(double norm, double contribution, double lengthEffectN, double reliability)
{
- if (probabilityAssessmentInput == null)
- {
- throw new ArgumentNullException("probabilityAssessmentInput");
- }
-
- var requiredProbability = RequiredProbability(probabilityAssessmentInput.Contribution / 100.0, probabilityAssessmentInput.Norm, probabilityAssessmentInput.N);
+ var requiredProbability = RequiredProbability(contribution / 100.0, norm, lengthEffectN);
var probability = ReliabilityToProbability(reliability);
var requiredReliability = ProbabilityToReliability(requiredProbability);
var factorOfSafety = FactorOfSafety(reliability, requiredReliability);
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/ProbabilityAssessmentServiceTest.cs
===================================================================
diff -u -r678dc8c8dbb01fd889a082ae88c9f9d42f597a10 -r1957c54820f55f8de15e34add4577a78b2e96850
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/ProbabilityAssessmentServiceTest.cs (.../ProbabilityAssessmentServiceTest.cs) (revision 678dc8c8dbb01fd889a082ae88c9f9d42f597a10)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/ProbabilityAssessmentServiceTest.cs (.../ProbabilityAssessmentServiceTest.cs) (revision 1957c54820f55f8de15e34add4577a78b2e96850)
@@ -19,9 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
-using System;
using NUnit.Framework;
-using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.TestUtil;
namespace Ringtoets.Common.Service.Test
@@ -30,17 +28,6 @@
public class ProbabilityAssessmentServiceTest
{
[Test]
- public void Calculate_NullProbabilityAssessmentInput_ThrowsArgumentNullException()
- {
- //Call
- TestDelegate test = () => ProbabilityAssessmentService.Calculate(null, double.NaN);
-
- // Assert
- var exception = Assert.Throws(test);
- Assert.AreEqual("probabilityAssessmentInput", exception.ParamName);
- }
-
- [Test]
[TestCase(30000, 100, 2, 60000)]
[TestCase(30000, 100, 1, 30000)]
[TestCase(30000, 24, 2, 250000)]
@@ -51,16 +38,8 @@
[TestCase(20000, 24, 1, 83333.33)]
public void RequiredProbability_DifferentInputs_ReturnsExpectedValue(int norm, double contribution, int lengthEffectN, double expectedResult)
{
- // Setup
- var input = new ProbabilityAssessmentInput
- {
- Norm = norm,
- Contribution = contribution,
- N = lengthEffectN
- };
-
// Call
- var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(input, double.NaN);
+ var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(norm, contribution, lengthEffectN, double.NaN);
// Assert
Assert.AreEqual(expectedResult, probabilityAssessmentOutput.RequiredProbability, probabilityAssessmentOutput.RequiredProbability.GetAccuracy());
@@ -77,16 +56,8 @@
[TestCase(20000, 24, 1, 4.2240038)]
public void RequiredReliability_DifferentInputs_ReturnsExpectedValue(int norm, double contribution, int lengthEffectN, double expectedResult)
{
- // Setup
- var input = new ProbabilityAssessmentInput
- {
- Norm = norm,
- Contribution = contribution,
- N = lengthEffectN
- };
-
// Call
- var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(input, double.NaN);
+ var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(norm, contribution, lengthEffectN, double.NaN);
// Assert
Assert.AreEqual(expectedResult, probabilityAssessmentOutput.RequiredReliability, probabilityAssessmentOutput.RequiredReliability.GetAccuracy());
@@ -97,11 +68,8 @@
[TestCase(789.123, 789.123)]
public void Reliability_DifferentInputs_ReturnsExpectedValue(double reliability, double expectedResult)
{
- // Setup
- var input = new ProbabilityAssessmentInput();
-
// Call
- var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(input, reliability);
+ var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(double.NaN, double.NaN, double.NaN, reliability);
// Assert
Assert.AreEqual(expectedResult, probabilityAssessmentOutput.Reliability, probabilityAssessmentOutput.Reliability.GetAccuracy());
@@ -112,11 +80,8 @@
[TestCase(5, 3488555.78723)]
public void Probability_DifferentInputs_ReturnsExpectedValue(double reliability, double expectedResult)
{
- // Setup
- var input = new ProbabilityAssessmentInput();
-
// Call
- var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(input, reliability);
+ var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(double.NaN, double.NaN, double.NaN, reliability);
// Assert
Assert.AreEqual(expectedResult, probabilityAssessmentOutput.Probability, probabilityAssessmentOutput.Probability.GetAccuracy());
@@ -133,16 +98,8 @@
[TestCase(20000, 24, 2, 4.149409984, 0.947875892)]
public void FactorOfSafety_DifferentInputs_ReturnsExpectedValue(int norm, double contribution, int lengthEffectN, double reliability, double expectedResult)
{
- // Setup
- var input = new ProbabilityAssessmentInput
- {
- Norm = norm,
- Contribution = contribution,
- N = lengthEffectN
- };
-
// Call
- var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(input, reliability);
+ var probabilityAssessmentOutput = ProbabilityAssessmentService.Calculate(norm, contribution, lengthEffectN, reliability);
// Assert
Assert.AreEqual(expectedResult, probabilityAssessmentOutput.FactorOfSafety, probabilityAssessmentOutput.FactorOfSafety.GetAccuracy());
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -r0e8590d1ba6edc87a2ac73240662bfcf45f20914 -r1957c54820f55f8de15e34add4577a78b2e96850
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 0e8590d1ba6edc87a2ac73240662bfcf45f20914)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 1957c54820f55f8de15e34add4577a78b2e96850)
@@ -211,7 +211,7 @@
{
if (output != null)
{
- calculation.Output = ProbabilityAssessmentService.Calculate(probabilityAssessmentInput, output.Beta);
+ calculation.Output = ProbabilityAssessmentService.Calculate(probabilityAssessmentInput.Norm, probabilityAssessmentInput.Contribution, probabilityAssessmentInput.N, output.Beta);
calculation.NotifyObservers();
}
else
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs
===================================================================
diff -u -rea180de6e9f5ba1108b4ff3cf7bb7e57de72a37a -r1957c54820f55f8de15e34add4577a78b2e96850
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision ea180de6e9f5ba1108b4ff3cf7bb7e57de72a37a)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision 1957c54820f55f8de15e34add4577a78b2e96850)
@@ -206,7 +206,7 @@
{
if (output != null)
{
- calculation.Output = ProbabilityAssessmentService.Calculate(probabilityAssessmentInput, output.Beta);
+ calculation.Output = ProbabilityAssessmentService.Calculate(probabilityAssessmentInput.Norm, probabilityAssessmentInput.Contribution, probabilityAssessmentInput.N, output.Beta);
calculation.NotifyObservers();
}
else