Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultDetailedAssessmentExtensions.cs
===================================================================
diff -u -r739752c5cc7ed800dacf74e12221c227183ddc6f -rd8d1d5d4a3eabd84c2d6e07eedb75fa200c2d54e
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultDetailedAssessmentExtensions.cs (.../PipingFailureMechanismSectionResultDetailedAssessmentExtensions.cs) (revision 739752c5cc7ed800dacf74e12221c227183ddc6f)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismSectionResultDetailedAssessmentExtensions.cs (.../PipingFailureMechanismSectionResultDetailedAssessmentExtensions.cs) (revision d8d1d5d4a3eabd84c2d6e07eedb75fa200c2d54e)
@@ -95,56 +95,95 @@
}
///
- /// Gets the contribution of all relevant together.
+ /// Gets the total contribution of all relevant calculation scenarios.
///
- /// The result to get the result for.
- /// All calculations in the failure mechanism.
- public static RoundedDouble GetTotalContribution(this PipingFailureMechanismSectionResult pipingFailureMechanismSectionResult,
- IEnumerable calculations)
+ /// The section result to get the total contribution for.
+ /// The calculation scenarios to get the total contribution for.
+ /// The total contribution of all relevant calculation scenarios.
+ /// Thrown when any parameter is null.
+ public static RoundedDouble GetTotalContribution(this PipingFailureMechanismSectionResult sectionResult,
+ IEnumerable calculationScenarios)
{
- return (RoundedDouble) pipingFailureMechanismSectionResult
- .GetCalculationScenarios(calculations)
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
+ return (RoundedDouble) sectionResult
+ .GetCalculationScenarios(calculationScenarios)
.Aggregate(0, (current, calculationScenario) => current + calculationScenario.Contribution);
}
///
- /// Gets a list of the relevant .
+ /// Gets a collection of the relevant .
///
- /// The result to get the result for.
- /// All calculations in the failure mechanism.
- public static IEnumerable GetCalculationScenarios(this PipingFailureMechanismSectionResult pipingFailureMechanismSectionResult,
- IEnumerable calculations)
+ /// The section result to get the relevant scenarios for.
+ /// The calculation scenarios to get the relevant scenarios from.
+ /// A collection of relevant calculation scenarios.
+ /// Thrown when any parameter is null.
+ public static IEnumerable GetCalculationScenarios(
+ this PipingFailureMechanismSectionResult sectionResult,
+ IEnumerable calculationScenarios)
{
- IEnumerable lineSegments = Math2D.ConvertLinePointsToLineSegments(pipingFailureMechanismSectionResult.Section.Points);
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
- return calculations
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
+ IEnumerable lineSegments = Math2D.ConvertLinePointsToLineSegments(sectionResult.Section.Points);
+
+ return calculationScenarios
.Where(pc => pc.IsRelevant && pc.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments));
}
///
/// Gets the status of the section result depending on the relevant calculation scenarios.
///
- /// The result to get the result for.
- /// All calculations in the failure mechanism.
+ /// The section result to get the calculation status for.
+ /// The calculation scenarios to get the calculation status for.
+ /// The calculation scenario status for the section result.
+ /// Thrown when any parameter is null.
/// 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)
+ /// in has an invalid .
+ /// Thrown when any of the relevant scenarios has an unsupported
+ /// value of .
+ public static CalculationScenarioStatus GetCalculationScenarioStatus(
+ this PipingFailureMechanismSectionResult sectionResult,
+ IEnumerable calculationScenarios)
{
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ if (calculationScenarios == null)
+ {
+ throw new ArgumentNullException(nameof(calculationScenarios));
+ }
+
var failed = false;
var notCalculated = false;
- foreach (PipingCalculationScenario calculationScenario in pipingFailureMechanismSectionResult.GetCalculationScenarios(calculations).Where(cs => cs.IsRelevant))
+ foreach (PipingCalculationScenario calculationScenario in sectionResult.GetCalculationScenarios(calculationScenarios).Where(cs => cs.IsRelevant))
{
CalculationScenarioStatus calculationScenarioStatus = calculationScenario.Status;
if (!Enum.IsDefined(typeof(CalculationScenarioStatus), calculationScenarioStatus))
{
- throw new InvalidEnumArgumentException(nameof(pipingFailureMechanismSectionResult),
+ throw new InvalidEnumArgumentException(nameof(sectionResult),
(int) calculationScenarioStatus,
typeof(CalculationScenarioStatus));
}
- switch (calculationScenarioStatus)
+ switch (calculationScenario.Status)
{
case CalculationScenarioStatus.Failed:
failed = true;