Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Structures/StructuresFailureMechanismSectionResultTest.cs =================================================================== diff -u -r89bea52ae1b4639721b93bdd4a537f36ec6d6b9c -rb6e0f8d41d92ed18c902138dd49cce6e703ee883 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Structures/StructuresFailureMechanismSectionResultTest.cs (.../StructuresFailureMechanismSectionResultTest.cs) (revision 89bea52ae1b4639721b93bdd4a537f36ec6d6b9c) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Structures/StructuresFailureMechanismSectionResultTest.cs (.../StructuresFailureMechanismSectionResultTest.cs) (revision b6e0f8d41d92ed18c902138dd49cce6e703ee883) @@ -19,10 +19,14 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.Base.Data; using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Structures; +using Ringtoets.Common.Data.TestUtil; namespace Ringtoets.Common.Data.Test.Structures { @@ -41,6 +45,7 @@ // Assert Assert.IsInstanceOf>(sectionResult); Assert.IsNull(sectionResult.Calculation); + Assert.IsNaN(sectionResult.AssessmentLayerThree); Assert.AreSame(section, sectionResult.Section); } @@ -61,6 +66,44 @@ Assert.AreSame(calculation, result.Calculation); } + [Test] + [TestCase(double.NegativeInfinity)] + [TestCase(double.PositiveInfinity)] + [TestCase(1.1)] + [TestCase(-0.1)] + public void AssessmentLayerThree_SetInvalidValue_ThrowsArgumentOutOfRangeException(double invalidValue) + { + // Setup + var sectionResult = new TestStructuresFailureMechanismSectionResult(CreateSection()); + + // Call + TestDelegate call = () => sectionResult.AssessmentLayerThree = (RoundedDouble) invalidValue; + + // Assert + const string expectedMessage = "Kans moet in het bereik [0.0, 1.0] liggen."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, + expectedMessage); + } + + [Test] + [TestCase(double.NaN)] + [TestCase(0)] + [TestCase(1)] + [TestCase(0.5)] + public void AssessmentLayerThree_SetValidValue_SetsValue(double validValue) + { + // Setup + var sectionResult = new TestStructuresFailureMechanismSectionResult(CreateSection()); + + // Call + TestDelegate call = () => sectionResult.AssessmentLayerThree = (RoundedDouble) validValue; + + // Assert + Assert.DoesNotThrow(call); + Assert.AreEqual(validValue, sectionResult.AssessmentLayerThree, sectionResult.AssessmentLayerThree.GetAccuracy()); + } + + private static FailureMechanismSection CreateSection() { return new FailureMechanismSection("Section", new[]