Index: Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs =================================================================== diff -u -rd4d68b519b90ce17bcfa75b0acc970c45a12fecf -r6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb --- Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d4d68b519b90ce17bcfa75b0acc970c45a12fecf) +++ Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb) @@ -40,7 +40,7 @@ // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources { @@ -331,6 +331,16 @@ } /// + /// Looks up a localized string similar to Doelkans is te klein om een berekening uit te kunnen voeren.. + /// + public static string TargetProbabilityCalculationServiceHelper_ValidateTargetProbability_Target_probability_too_small { + get { + return ResourceManager.GetString("TargetProbabilityCalculationServiceHelper_ValidateTargetProbability_Target_probab" + + "ility_too_small", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Validatie is beƫindigd.. /// public static string Validation_ended { Index: Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx =================================================================== diff -u -rd4d68b519b90ce17bcfa75b0acc970c45a12fecf -r6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb --- Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx (.../Resources.resx) (revision d4d68b519b90ce17bcfa75b0acc970c45a12fecf) +++ Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx (.../Resources.resx) (revision 6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb) @@ -221,4 +221,7 @@ Doelkans is te groot om een berekening uit te kunnen voeren. + + Doelkans is te klein om een berekening uit te kunnen voeren. + \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Service/TargetProbabilityCalculationServiceHelper.cs =================================================================== diff -u -r8d14456703e8c6cc42cc5474817c92f9141eb72b -r6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb --- Ringtoets/Common/src/Ringtoets.Common.Service/TargetProbabilityCalculationServiceHelper.cs (.../TargetProbabilityCalculationServiceHelper.cs) (revision 8d14456703e8c6cc42cc5474817c92f9141eb72b) +++ Ringtoets/Common/src/Ringtoets.Common.Service/TargetProbabilityCalculationServiceHelper.cs (.../TargetProbabilityCalculationServiceHelper.cs) (revision 6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb) @@ -55,7 +55,12 @@ if (targetBeta < -1) { handleLogMessageAction(Resources.TargetProbabilityCalculationServiceHelper_ValidateTargetProbability_Target_probability_too_big); + return false; + } + if (targetBeta > 40) + { + handleLogMessageAction(Resources.TargetProbabilityCalculationServiceHelper_ValidateTargetProbability_Target_probability_too_small); return false; } Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceHelperTest.cs =================================================================== diff -u -r8d14456703e8c6cc42cc5474817c92f9141eb72b -r6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceHelperTest.cs (.../TargetProbabilityCalculationServiceHelperTest.cs) (revision 8d14456703e8c6cc42cc5474817c92f9141eb72b) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceHelperTest.cs (.../TargetProbabilityCalculationServiceHelperTest.cs) (revision 6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb) @@ -84,6 +84,21 @@ Assert.AreEqual("Doelkans is te groot om een berekening uit te kunnen voeren.", logMessage); } + [Test] + [TestCaseSource(nameof(TargetProbabilitiesThatAreTooSmall))] + public void ValidateTargetProbability_TargetProbabilityTooSmall_ReturnsFalseAndHandlesExpectedLogMessage(double targetProbability) + { + // Setup + string logMessage = string.Empty; + + // Call + bool isValid = TargetProbabilityCalculationServiceHelper.ValidateTargetProbability(targetProbability, lm => logMessage = lm); + + // Assert + Assert.IsFalse(isValid); + Assert.AreEqual("Doelkans is te klein om een berekening uit te kunnen voeren.", logMessage); + } + private static IEnumerable ValidTargetProbabilities() { yield return new TestCaseData(0.005); @@ -95,5 +110,11 @@ yield return new TestCaseData(StatisticsConverter.ReliabilityToProbability(-1.005)); yield return new TestCaseData(5.0); } + + private static IEnumerable TargetProbabilitiesThatAreTooSmall() + { + yield return new TestCaseData(StatisticsConverter.ReliabilityToProbability(40.005)); + yield return new TestCaseData(0.0); + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs =================================================================== diff -u -r08a74809d225be7c226def1b19d3e3bc9a6fb677 -r6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs (.../TargetProbabilityCalculationServiceTest.cs) (revision 08a74809d225be7c226def1b19d3e3bc9a6fb677) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs (.../TargetProbabilityCalculationServiceTest.cs) (revision 6d8bf9569d5fbf8b2591b00f5beca9a2fd9572cb) @@ -177,6 +177,29 @@ Assert.IsFalse(valid); } + [Test] + public void Validate_TargetProbabilityInvalidTooSmall_LogsErrorAndReturnsFalse() + { + // Setup + var valid = true; + + // Call + Action call = () => valid = calculationService.Validate(validFilePath, + validPreprocessorDirectory, + 0.0); + + // Assert + TestHelper.AssertLogMessages(call, messages => + { + string[] msgs = messages.ToArray(); + Assert.AreEqual(3, msgs.Length); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[0]); + Assert.AreEqual("Doelkans is te klein om een berekening uit te kunnen voeren.", msgs[1]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[2]); + }); + Assert.IsFalse(valid); + } + private class TestTargetProbabilityCalculationService : TargetProbabilityCalculationService {} } } \ No newline at end of file