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