Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs =================================================================== diff -u -r3739d94e5ef665dc97d80c8c3f7bc6ef4b19d93c -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (.../GrassCoverErosionInwardsOutputCalculationService.cs) (revision 3739d94e5ef665dc97d80c8c3f7bc6ef4b19d93c) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (.../GrassCoverErosionInwardsOutputCalculationService.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -52,7 +52,7 @@ } /// - /// Calculates the given the , and . + /// Calculates the given the and . /// /// The calculation which is used. /// The reliability result. @@ -80,14 +80,14 @@ private void Calculate() { - CalculateReliability(); + CalculateProbability(); CalculateRequiredReliability(); factorOfSafety = FactorOfSafety(reliability, requiredReliability); } - private void CalculateReliability() + private void CalculateProbability() { requiredProbability = RequiredProbability(contribution, norm, lengthEffectN); probability = ReliabilityToProbability(reliability); @@ -100,19 +100,19 @@ #region Sub calculations - private static double RequiredProbability(double probability, double contribution, double lengthEffectN) + private static double RequiredProbability(double contribution, double norm, double lengthEffectN) { - return probability*(1/contribution)/lengthEffectN; + return contribution*(1/norm)/lengthEffectN; } private static double ReliabilityToProbability(double reliability) { return Normal.CDF(0, 1, -reliability); } - private static double ProbabilityToReliability(double requiredProbability) + private static double ProbabilityToReliability(double probability) { - return Normal.InvCDF(0, 1, 1 - requiredProbability); + return Normal.InvCDF(0, 1, 1 - probability); } private static double FactorOfSafety(double reliability, double requiredReliability) Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs =================================================================== diff -u -r4936ea40e490dd8a3ed500e1c5a8f8390ff31491 -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs (.../GrassCoverErosionInwardsFailureMechanismTest.cs) (revision 4936ea40e490dd8a3ed500e1c5a8f8390ff31491) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs (.../GrassCoverErosionInwardsFailureMechanismTest.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -124,5 +124,20 @@ Assert.IsTrue(calculations.All(c => c is GrassCoverErosionInwardsCalculation)); mocks.VerifyAll(); } + + [Test] + public void Contribution_Always_UpdatesNormProbabilityInputContribution() + { + // Setup + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + const double newContribution = 12; + + // Call + failureMechanism.Contribution = newContribution; + + // Assert + Assert.AreEqual(newContribution, failureMechanism.NormProbabilityInput.Contribution); + Assert.AreEqual(newContribution, failureMechanism.Contribution); + } } } \ No newline at end of file Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs =================================================================== diff -u -ra61d9a646a09ddee65775c179bba12c40003cf84 -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision a61d9a646a09ddee65775c179bba12c40003cf84) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -148,7 +148,7 @@ { failureMechanism = failureMechanismContext.WrappedData; } - return failureMechanism != null && ReferenceEquals(view.Data, (failureMechanism).SectionResults); + return failureMechanism != null && ReferenceEquals(view.Data, failureMechanism.SectionResults); } #endregion Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs =================================================================== diff -u -r7ddd944b70d252ae493bba48ea9b31c01634082d -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs (.../HeightStructuresFailureMechanismTest.cs) (revision 7ddd944b70d252ae493bba48ea9b31c01634082d) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs (.../HeightStructuresFailureMechanismTest.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -126,5 +126,20 @@ Assert.IsTrue(calculations.All(c => c is HeightStructuresCalculation)); mocks.VerifyAll(); } + + [Test] + public void Contribution_Always_UpdatesNormProbabilityInputContribution() + { + // Setup + var failureMechanism = new HeightStructuresFailureMechanism(); + const double newContribution = 12; + + // Call + failureMechanism.Contribution = newContribution; + + // Assert + Assert.AreEqual(newContribution, failureMechanism.NormProbabilityInput.Contribution); + Assert.AreEqual(newContribution, failureMechanism.Contribution); + } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs =================================================================== diff -u -r7ddd944b70d252ae493bba48ea9b31c01634082d -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision 7ddd944b70d252ae493bba48ea9b31c01634082d) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -150,6 +150,8 @@ Assert.AreEqual(30000.0, section.HeightStructures.NormProbabilityInput.Norm); + Assert.AreEqual(30000.0, section.GrassCoverErosionInwards.NormProbabilityInput.Norm); + Assert.AreEqual(sum, section.FailureMechanismContribution.Distribution.Sum(d => d.Contribution)); } Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs =================================================================== diff -u -r0a94ed42cb943659d68be2ce6fb430f8f29fc3f3 -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision 0a94ed42cb943659d68be2ce6fb430f8f29fc3f3) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -42,10 +42,6 @@ /// is null. public PipingCalculation(GeneralPipingInput generalInputParameters, NormProbabilityPipingInput normProbabilityInputParameters) { - if (generalInputParameters == null) - { - throw new ArgumentNullException("generalInputParameters"); - } if (normProbabilityInputParameters == null) { throw new ArgumentNullException("normProbabilityInputParameters"); Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs =================================================================== diff -u -r41fac7fff0a505c08945108d795dcb877f10b816 -r89e5c41b732ccf30350026e8d35a01d9a180fdfc --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 41fac7fff0a505c08945108d795dcb877f10b816) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 89e5c41b732ccf30350026e8d35a01d9a180fdfc) @@ -218,5 +218,20 @@ // Assert CollectionAssert.DoesNotContain(failureMechanism.CalculationsGroup.Children, folder); } + + [Test] + public void Contribution_Always_UpdatesNormProbabilityInputContribution() + { + // Setup + var failureMechanism = new PipingFailureMechanism(); + const double newContribution = 12; + + // Call + failureMechanism.Contribution = newContribution; + + // Assert + Assert.AreEqual(newContribution, failureMechanism.NormProbabilityInput.Contribution); + Assert.AreEqual(newContribution, failureMechanism.Contribution); + } } } \ No newline at end of file