Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismSectionResultTest.cs =================================================================== diff -u -r7308fa5293c97e6dc38f36aeaff089e41a5fca51 -rbe5396964501c20d142d21dcf39a2a859bbcb472 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismSectionResultTest.cs (.../HeightStructuresFailureMechanismSectionResultTest.cs) (revision 7308fa5293c97e6dc38f36aeaff089e41a5fca51) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismSectionResultTest.cs (.../HeightStructuresFailureMechanismSectionResultTest.cs) (revision be5396964501c20d142d21dcf39a2a859bbcb472) @@ -48,6 +48,8 @@ Assert.AreEqual(TailorMadeAssessmentProbabilityCalculationResultType.None, sectionResult.TailorMadeAssessmentResult); Assert.IsNaN(sectionResult.TailorMadeAssessmentProbability); Assert.AreSame(section, sectionResult.Section); + Assert.IsFalse(sectionResult.UseManualAssemblyProbability); + Assert.AreEqual(double.NaN, sectionResult.ManualAssemblyProbability); } [Test] @@ -87,5 +89,46 @@ // Assert Assert.AreEqual(validValue, sectionResult.TailorMadeAssessmentProbability); } + + [Test] + [SetCulture("nl-NL")] + [TestCase(-20)] + [TestCase(-1e-6)] + [TestCase(1 + 1e-6)] + [TestCase(12)] + public void ManualAssemblyProbability_InvalidValue_ThrowsArgumentOutOfRangeException(double newValue) + { + // Setup + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new HeightStructuresFailureMechanismSectionResult(section); + + // Call + TestDelegate test = () => result.ManualAssemblyProbability = newValue; + + // Assert + string message = Assert.Throws(test).Message; + const string expectedMessage = "De waarde voor de faalkans moet in het bereik [0,0, 1,0] liggen."; + Assert.AreEqual(expectedMessage, message); + } + + [Test] + [TestCase(0)] + [TestCase(1e-6)] + [TestCase(0.5)] + [TestCase(1 - 1e-6)] + [TestCase(1)] + [TestCase(double.NaN)] + public void ManualAssemblyProbability_ValidValue_NewValueSet(double newValue) + { + // Setup + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new HeightStructuresFailureMechanismSectionResult(section); + + // Call + result.ManualAssemblyProbability = newValue; + + // Assert + Assert.AreEqual(newValue, result.ManualAssemblyProbability); + } } } \ No newline at end of file