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