Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs =================================================================== diff -u -rfeac67edf43b99a25557ab8925d58d7ef2519201 -re9676ff582c6fef41c740b880e5161d581bde497 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision feac67edf43b99a25557ab8925d58d7ef2519201) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision e9676ff582c6fef41c740b880e5161d581bde497) @@ -130,12 +130,9 @@ pipingStructure = new PipingStructureFailureMechanism(); duneErosion = new DuneErosionFailureMechanism(); technicalInnovation = new TechnicalInnovationFailureMechanism(); + OtherFailureMechanism = new OtherFailureMechanism(); - const int otherContribution = 30; - FailureMechanismContribution = new FailureMechanismContribution(GetContributingFailureMechanisms(), - otherContribution, - lowerLimitNorm, - signalingNorm); + FailureMechanismContribution = new FailureMechanismContribution(lowerLimitNorm, signalingNorm); ChangeComposition(composition); } @@ -463,6 +460,11 @@ } } + /// + /// Gets the "Overige" category failure mechanism. + /// + public OtherFailureMechanism OtherFailureMechanism { get; } + public IObservableEnumerable WaterLevelCalculationsForFactorizedSignalingNorm { get @@ -600,6 +602,22 @@ yield return TechnicalInnovation; } + public IEnumerable GetContributingFailureMechanisms() + { + yield return Piping; + yield return GrassCoverErosionInwards; + yield return MacroStabilityInwards; + yield return StabilityStoneCover; + yield return WaveImpactAsphaltCover; + yield return GrassCoverErosionOutwards; + yield return HeightStructures; + yield return ClosingStructures; + yield return PipingStructure; + yield return StabilityPointStructures; + yield return DuneErosion; + yield return OtherFailureMechanism; + } + /// /// Thrown when /// is not a valid enum value of . @@ -629,7 +647,7 @@ PipingStructure.Contribution = 2; StabilityPointStructures.Contribution = 2; DuneErosion.Contribution = 0; - FailureMechanismContribution.UpdateContributions(GetContributingFailureMechanisms(), 30); + OtherFailureMechanism.Contribution = 30; break; case AssessmentSectionComposition.Dune: Piping.Contribution = 0; @@ -644,7 +662,7 @@ PipingStructure.Contribution = 0; StabilityPointStructures.Contribution = 0; DuneErosion.Contribution = 70; - FailureMechanismContribution.UpdateContributions(GetContributingFailureMechanisms(), 30); + OtherFailureMechanism.Contribution = 30; break; case AssessmentSectionComposition.DikeAndDune: Piping.Contribution = 24; @@ -659,7 +677,7 @@ PipingStructure.Contribution = 2; StabilityPointStructures.Contribution = 2; DuneErosion.Contribution = 10; - FailureMechanismContribution.UpdateContributions(GetContributingFailureMechanisms(), 20); + OtherFailureMechanism.Contribution = 20; break; default: throw new NotSupportedException(); @@ -679,7 +697,7 @@ /// is not equal to the contribution of . private static void ValidateContribution(IFailureMechanism oldFailureMechanism, IFailureMechanism newFailureMechanism) { - if (!(Math.Abs(oldFailureMechanism.Contribution - newFailureMechanism.Contribution) < double.Epsilon)) + if (Math.Abs(oldFailureMechanism.Contribution - newFailureMechanism.Contribution) >= double.Epsilon) { throw new ArgumentException(Resources.AssessmentSection_ValidateContribution_Contribution_new_FailureMechanism_must_be_equal_to_old_FailureMechanism); } @@ -723,20 +741,5 @@ PipingStructure.IsRelevant = Composition != AssessmentSectionComposition.Dune; DuneErosion.IsRelevant = Composition != AssessmentSectionComposition.Dike; } - - private IEnumerable GetContributingFailureMechanisms() - { - yield return Piping; - yield return GrassCoverErosionInwards; - yield return MacroStabilityInwards; - yield return StabilityStoneCover; - yield return WaveImpactAsphaltCover; - yield return GrassCoverErosionOutwards; - yield return HeightStructures; - yield return ClosingStructures; - yield return PipingStructure; - yield return StabilityPointStructures; - yield return DuneErosion; - } } } \ No newline at end of file