Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSection2aAssessmentResultExtensions.cs =================================================================== diff -u -r00da0d2f72214f140bceff0eaae5f14172c587de -rffba5900acc192187346a9ad73acea5e8b9d0bf5 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSection2aAssessmentResultExtensions.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensions.cs) (revision 00da0d2f72214f140bceff0eaae5f14172c587de) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSection2aAssessmentResultExtensions.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensions.cs) (revision ffba5900acc192187346a9ad73acea5e8b9d0bf5) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -85,15 +86,24 @@ /// All calculations in the failure mechanism. /// Thrown when any of the relevant calculations /// in has an invalid . + /// Thrown when any of the relevant scenarios has an unsupported value of . public static CalculationScenarioStatus GetCalculationScenarioStatus(this PipingFailureMechanismSectionResult pipingFailureMechanismSectionResult, IEnumerable calculations) { var failed = false; var notCalculated = false; foreach (PipingCalculationScenario calculationScenario in pipingFailureMechanismSectionResult.GetCalculationScenarios(calculations).Where(cs => cs.IsRelevant)) { - switch (calculationScenario.Status) + CalculationScenarioStatus calculationScenarioStatus = calculationScenario.Status; + if (!Enum.IsDefined(typeof(CalculationScenarioStatus), calculationScenarioStatus)) { + throw new InvalidEnumArgumentException(nameof(pipingFailureMechanismSectionResult), + (int)calculationScenarioStatus, + typeof(CalculationScenarioStatus)); + } + + switch (calculationScenarioStatus) + { case CalculationScenarioStatus.Failed: failed = true; break; @@ -103,9 +113,7 @@ case CalculationScenarioStatus.Done: continue; default: - throw new InvalidEnumArgumentException(nameof(pipingFailureMechanismSectionResult), - (int) calculationScenario.Status, - typeof(CalculationScenarioStatus)); + throw new NotSupportedException($"The enum value {nameof(CalculationScenarioStatus)}.{calculationScenarioStatus} is not supported."); } }