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