Index: Ringtoets/Common/src/Ringtoets.Common.Data/Contribution/FailureMechanismContribution.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/src/Ringtoets.Common.Data/Contribution/FailureMechanismContribution.cs (.../FailureMechanismContribution.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Contribution/FailureMechanismContribution.cs (.../FailureMechanismContribution.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -51,8 +51,8 @@ /// The of /// on which to base the . /// The collective contribution for other failure mechanisms. - /// The lower limit norm which has been defined on the assessment section. - /// The signaling norm which has been defined on the assessment section. + /// The lower limit norm. + /// The signaling norm. /// Thrown when is null. /// Thrown when: /// Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Contribution/FailureMechanismContributionTest.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Contribution/FailureMechanismContributionTest.cs (.../FailureMechanismContributionTest.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Contribution/FailureMechanismContributionTest.cs (.../FailureMechanismContributionTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -89,7 +89,7 @@ "Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException" })] [SetCulture("nl-NL")] - public void Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); @@ -98,14 +98,14 @@ // Call TestDelegate test = () => new FailureMechanismContribution(Enumerable.Empty(), contribution, - newNorm, + invalidNorm, 0.000001); // Assert const string expectedMessage = "De waarde van de norm moet in het bereik [0,000001, 0,1] liggen."; var exception = Assert.Throws(test); StringAssert.StartsWith(expectedMessage, exception.Message); - Assert.AreEqual(newNorm, exception.ActualValue); + Assert.AreEqual(invalidNorm, exception.ActualValue); } [Test] @@ -115,7 +115,7 @@ "Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException" })] [SetCulture("nl-NL")] - public void Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); @@ -125,13 +125,13 @@ TestDelegate test = () => new FailureMechanismContribution(Enumerable.Empty(), contribution, 0.1, - newNorm); + invalidNorm); // Assert const string expectedMessage = "De waarde van de norm moet in het bereik [0,000001, 0,1] liggen."; var exception = Assert.Throws(test); StringAssert.StartsWith(expectedMessage, exception.Message); - Assert.AreEqual(newNorm, exception.ActualValue); + Assert.AreEqual(invalidNorm, exception.ActualValue); } [Test] @@ -164,13 +164,11 @@ [TestCase(double.NaN)] public void Constructor_OtherContributionLessOrEqualTo0OrGreaterThan100_ThrowsArgumentOutOfRangeException(double contribution) { - // Setup - const double norm = 1.0 / 30000; - // Call TestDelegate test = () => new FailureMechanismContribution(Enumerable.Empty(), - contribution - , norm, norm); + contribution, + 1.0 / 30000, + 1.0 / 30000); // Assert const string expectedMessage = "De waarde voor de toegestane bijdrage aan de faalkans moet in het bereik [0,0, 100,0] liggen."; @@ -264,12 +262,11 @@ public void UpdateContribution_FailureMechanismsIsNull_ThrowsArgumentNullException() { // Setup - const double norm = 1.0 / 30000; IEnumerable failureMechanisms = Enumerable.Empty(); var failureMechanismContribution = new FailureMechanismContribution(failureMechanisms, 12.34, - norm, - norm); + 1.0 / 30000, + 1.0 / 30000); // Call TestDelegate call = () => failureMechanismContribution.UpdateContributions(null, 0); @@ -437,7 +434,9 @@ var failureMechanismContribution = new FailureMechanismContribution(new[] { failureMechanism - }, otherContribution, norm, + }, + otherContribution, + norm, norm); // Call @@ -492,7 +491,8 @@ var failureMechanismContribution = new FailureMechanismContribution(new[] { failureMechanism - }, otherContribution, + }, + otherContribution, norm, norm) { @@ -522,7 +522,8 @@ var failureMechanismContribution = new FailureMechanismContribution(new[] { failureMechanism - }, otherContribution, + }, + otherContribution, norm, norm); @@ -548,7 +549,8 @@ var failureMechanismContribution = new FailureMechanismContribution(new[] { failureMechanism - }, otherContribution, + }, + otherContribution, 0.1, 0.001); // Precondition @@ -571,7 +573,7 @@ "Norm_WhenUpdated_NormUpdatedForEachFailureMechanismContributionItem" })] [SetCulture("nl-NL")] - public void LowerLimitNorm_InvalidNewNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void LowerLimitNorm_InvalidNewNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); @@ -583,13 +585,13 @@ norm); // Call - TestDelegate test = () => failureMechanismContribution.LowerLimitNorm = newNorm; + TestDelegate test = () => failureMechanismContribution.LowerLimitNorm = invalidNorm; // Assert const string expectedMessage = "De waarde van de norm moet in het bereik [0,000001, 0,1] liggen."; var exception = Assert.Throws(test); StringAssert.StartsWith(expectedMessage, exception.Message); - Assert.AreEqual(newNorm, exception.ActualValue); + Assert.AreEqual(invalidNorm, exception.ActualValue); } [Test] @@ -599,7 +601,7 @@ "SignalingNorm_InvalidNewNorm_ThrowsArgumentOutOfRangeException" })] [SetCulture("nl-NL")] - public void SignalingNorm_InvalidNewNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void SignalingNorm_InvalidNewNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); @@ -611,13 +613,13 @@ norm); // Call - TestDelegate test = () => failureMechanismContribution.SignalingNorm = newNorm; + TestDelegate test = () => failureMechanismContribution.SignalingNorm = invalidNorm; // Assert const string expectedMessage = "De waarde van de norm moet in het bereik [0,000001, 0,1] liggen."; var exception = Assert.Throws(test); StringAssert.StartsWith(expectedMessage, exception.Message); - Assert.AreEqual(newNorm, exception.ActualValue); + Assert.AreEqual(invalidNorm, exception.ActualValue); } [Test] Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs (.../AssessmentSectionHelperTest.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/AssessmentSectionHelperTest.cs (.../AssessmentSectionHelperTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -24,6 +24,7 @@ using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.Hydraulics; namespace Ringtoets.Common.Data.TestUtil.Test @@ -57,7 +58,6 @@ { failureMechanism }, assessmentSection.GetFailureMechanisms()); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.Norm); Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.LowerLimitNorm); Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.SignalingNorm); mocks.VerifyAll(); @@ -90,9 +90,11 @@ { failureMechanism }, assessmentSection.GetFailureMechanisms()); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.Norm); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.LowerLimitNorm); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.SignalingNorm); + + FailureMechanismContribution contribution = assessmentSection.FailureMechanismContribution; + Assert.AreEqual(1.0 / 10, contribution.LowerLimitNorm); + Assert.AreEqual(1.0 / 30000, contribution.SignalingNorm); + Assert.AreEqual(NormType.LowerLimit, contribution.NormativeNorm); mocks.VerifyAll(); } @@ -114,9 +116,11 @@ { failureMechanism }, assessmentSection.GetFailureMechanisms()); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.Norm); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.LowerLimitNorm); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.SignalingNorm); + + FailureMechanismContribution contribution = assessmentSection.FailureMechanismContribution; + Assert.AreEqual(1.0 / 10, contribution.LowerLimitNorm); + Assert.AreEqual(1.0 / 30000, contribution.SignalingNorm); + Assert.AreEqual(NormType.LowerLimit, contribution.NormativeNorm); mocks.VerifyAll(); } @@ -134,9 +138,11 @@ Assert.AreEqual("21", assessmentSection.Id); Assert.IsNull(assessmentSection.HydraulicBoundaryDatabase); CollectionAssert.IsEmpty(assessmentSection.GetFailureMechanisms()); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.Norm); - Assert.AreEqual(1.0 / 10, assessmentSection.FailureMechanismContribution.LowerLimitNorm); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.SignalingNorm); + + FailureMechanismContribution contribution = assessmentSection.FailureMechanismContribution; + Assert.AreEqual(1.0 / 10, contribution.LowerLimitNorm); + Assert.AreEqual(1.0 / 30000, contribution.SignalingNorm); + Assert.AreEqual(NormType.LowerLimit, contribution.NormativeNorm); mocks.VerifyAll(); } } Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismContributionTestFactoryTest.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismContributionTestFactoryTest.cs (.../FailureMechanismContributionTestFactoryTest.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/FailureMechanismContributionTestFactoryTest.cs (.../FailureMechanismContributionTestFactoryTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -47,7 +47,7 @@ } [Test] - public void FailureMechanismsCreateFailureMechanismContribution_FailureMechanismsNull_ReturnsExpectedFailureMechanismContribution() + public void CreateFailureMechanismContribution_FailureMechanismsNull_ReturnsExpectedFailureMechanismContribution() { // Call TestDelegate test = () => FailureMechanismContributionTestFactory.CreateFailureMechanismContribution(null); @@ -57,7 +57,7 @@ } [Test] - public void FailureMechanismsCreateFailureMechanismContribution_WithFailureMechanism_ReturnsExpectedFailureMechanismContribution() + public void CreateFailureMechanismContribution_WithFailureMechanism_ReturnsExpectedFailureMechanismContribution() { // Call var mockRepository = new MockRepository(); Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/ObservableTestAssessmentSectionStubTest.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/ObservableTestAssessmentSectionStubTest.cs (.../ObservableTestAssessmentSectionStubTest.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/ObservableTestAssessmentSectionStubTest.cs (.../ObservableTestAssessmentSectionStubTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -52,13 +52,17 @@ Assert.IsNotNull(assessmentSection.BackgroundData); Assert.AreEqual("Background data", assessmentSection.BackgroundData.Name); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.Norm); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.SignalingNorm); - Assert.AreEqual(1.0 / 30000, assessmentSection.FailureMechanismContribution.LowerLimitNorm); - FailureMechanismContributionItem[] contributionItems = assessmentSection.FailureMechanismContribution.Distribution.ToArray(); + FailureMechanismContribution contribution = assessmentSection.FailureMechanismContribution; + Assert.AreEqual(NormType.LowerLimit, contribution.NormativeNorm); + Assert.AreEqual(1.0 / 30000, contribution.SignalingNorm); + Assert.AreEqual(1.0 / 30000, contribution.LowerLimitNorm); + + FailureMechanismContributionItem[] contributionItems = contribution.Distribution.ToArray(); Assert.AreEqual(1, contributionItems.Length); - Assert.AreEqual(0, contributionItems[0].Contribution); - Assert.IsInstanceOf(contributionItems[0].FailureMechanism); + + FailureMechanismContributionItem failureMechanismContributionItem = contributionItems[0]; + Assert.AreEqual(0, failureMechanismContributionItem.Contribution); + Assert.IsInstanceOf(failureMechanismContributionItem.FailureMechanism); } [Test] Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismContributionTestFactory.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismContributionTestFactory.cs (.../FailureMechanismContributionTestFactory.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/FailureMechanismContributionTestFactory.cs (.../FailureMechanismContributionTestFactory.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -34,7 +34,7 @@ public static class FailureMechanismContributionTestFactory { /// - /// Creates a new . + /// Creates a new instance of without failure mechanisms. /// /// The created . public static FailureMechanismContribution CreateFailureMechanismContribution() @@ -46,7 +46,7 @@ } /// - /// Creates a new . + /// Creates a new instance of . /// /// The failure mechanisms on which to base the . /// The created . Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -102,7 +102,8 @@ const int otherContribution = 30; FailureMechanismContribution = new FailureMechanismContribution(GetContributingFailureMechanisms(), otherContribution, - lowerLimitNorm, signalingNorm); + lowerLimitNorm, + signalingNorm); ChangeComposition(composition); } Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs =================================================================== diff -u -rfed1915e1f165e844339d8cf21479f4639cfe546 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision fed1915e1f165e844339d8cf21479f4639cfe546) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -159,15 +159,15 @@ "Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException" })] [SetCulture("nl-NL")] - public void Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void Constructor_InvalidLowerLimitNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); var composition = random.NextEnumValue(); // Call TestDelegate test = () => new AssessmentSection(composition, - newNorm, + invalidNorm, 0.000001); // Assert @@ -183,7 +183,7 @@ "Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException" })] [SetCulture("nl-NL")] - public void Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException(double newNorm) + public void Constructor_InvalidSignalingNorm_ThrowsArgumentOutOfRangeException(double invalidNorm) { // Setup var random = new Random(21); @@ -192,7 +192,7 @@ // Call TestDelegate test = () => new AssessmentSection(composition, 0.1, - newNorm); + invalidNorm); // Assert const string expectedMessage = "De waarde van de norm moet in het bereik [0,000001, 0,1] liggen."; @@ -569,6 +569,10 @@ private static IEnumerable GetInvalidNormValues(string name) { + yield return new TestCaseData(double.PositiveInfinity) + .SetName($"{name} positive infinity"); + yield return new TestCaseData(double.NegativeInfinity) + .SetName($"{name} negative infinity"); yield return new TestCaseData(double.MaxValue) .SetName($"{name} maxValue"); yield return new TestCaseData(double.MinValue) Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Commands/AssessmentSectionFromFileCommandHandlerTest.cs =================================================================== diff -u -rd0a9ae3680252d6a0fd203f4c6b1c3d42cd3873b -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Commands/AssessmentSectionFromFileCommandHandlerTest.cs (.../AssessmentSectionFromFileCommandHandlerTest.cs) (revision d0a9ae3680252d6a0fd203f4c6b1c3d42cd3873b) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Commands/AssessmentSectionFromFileCommandHandlerTest.cs (.../AssessmentSectionFromFileCommandHandlerTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -494,8 +494,7 @@ Assert.AreEqual(Level.Error, tuple.Item2); Assert.IsInstanceOf(tuple.Item3); }); - AssessmentSection assessmentSection = project.AssessmentSections.FirstOrDefault(); - Assert.IsNull(assessmentSection); + CollectionAssert.IsEmpty(project.AssessmentSections); mockRepository.VerifyAll(); } Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs =================================================================== diff -u -rdcc94dbcc481ef9f6f83308b82096f85f9cb6f01 -rf432893149ee8f4e74d4c21f082974fb89916150 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision dcc94dbcc481ef9f6f83308b82096f85f9cb6f01) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/FailureMechanismContributionViewTest.cs (.../FailureMechanismContributionViewTest.cs) (revision f432893149ee8f4e74d4c21f082974fb89916150) @@ -373,7 +373,6 @@ { // Given var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - const double norm = 1.0 / 30000; var mockRepository = new MockRepository(); var viewCommands = mockRepository.Stub(); @@ -387,10 +386,10 @@ using (var view = new FailureMechanismContributionView(viewCommands)) { // When - var contributionData = new FailureMechanismContribution(new[] + FailureMechanismContribution contributionData = FailureMechanismContributionTestFactory.CreateFailureMechanismContribution(new[] { failureMechanism - }, 100, norm, norm); + }); view.Data = contributionData; view.AssessmentSection = assessmentSection;