Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs
===================================================================
diff -u -r0a3678eabc5460352ffbfff25a9dca65edfef546 -r5782c43794d78fe92cd8864cd8f8b0b53957ec06
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs (.../PipingCalculationConfigurationHelper.cs) (revision 0a3678eabc5460352ffbfff25a9dca65edfef546)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs (.../PipingCalculationConfigurationHelper.cs) (revision 5782c43794d78fe92cd8864cd8f8b0b53957ec06)
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
using Core.Common.Base.Geometry;
using Ringtoets.Common.Forms.Helpers;
@@ -19,17 +20,37 @@
/// Surface lines to generate the structure for and to use to configure
/// with.
/// The soil models from which profiles are taken to configure with.
- ///
- ///
- ///
+ /// General input to assign to each generated piping calculation.
+ /// Semi probabilistic input to assign to each generated piping calculation.
+ /// A structure or matching combinations of and
+ /// profiles of intersecting .
+ /// Throw when either:
+ ///
+ /// - is null
+ /// - is null
+ /// - is null
+ /// - is null
+ ///
public static IEnumerable GenerateCalculationsStructure(IEnumerable surfaceLines, IEnumerable soilModels, GeneralPipingInput generalInput, SemiProbabilisticPipingInput semiProbabilisticInput)
{
if (surfaceLines == null)
{
- return Enumerable.Empty();
+ throw new ArgumentNullException("surfaceLines");
}
- var pipingCalculationGroups = surfaceLines.Select(sl => CreateCalculationGroup(sl, soilModels, generalInput, semiProbabilisticInput));
- return pipingCalculationGroups;
+ if (soilModels == null)
+ {
+ throw new ArgumentNullException("soilModels");
+ }
+ if (generalInput == null)
+ {
+ throw new ArgumentNullException("generalInput");
+ }
+ if (semiProbabilisticInput == null)
+ {
+ throw new ArgumentNullException("semiProbabilisticInput");
+ }
+
+ return surfaceLines.Select(sl => CreateCalculationGroup(sl, soilModels, generalInput, semiProbabilisticInput));
}
///
@@ -63,12 +84,10 @@
private static IPipingCalculationItem CreateCalculationGroup(RingtoetsPipingSurfaceLine surfaceLine, IEnumerable soilModels, GeneralPipingInput generalInput, SemiProbabilisticPipingInput semiProbabilisticInput)
{
var pipingCalculationGroup = new PipingCalculationGroup(surfaceLine.Name, true);
- if (soilModels != null)
+
+ foreach (var profile in GetPipingSoilProfilesForSurfaceLine(surfaceLine, soilModels))
{
- foreach (var profile in GetPipingSoilProfilesForSurfaceLine(surfaceLine, soilModels))
- {
- pipingCalculationGroup.Children.Add(CreatePipingCalculation(surfaceLine, profile, pipingCalculationGroup.Children, generalInput, semiProbabilisticInput));
- }
+ pipingCalculationGroup.Children.Add(CreatePipingCalculation(surfaceLine, profile, pipingCalculationGroup.Children, generalInput, semiProbabilisticInput));
}
return pipingCalculationGroup;