/// <summary>
        /// Creates a semi-probabilistic calculation with valid input.
        /// </summary>
        /// <param name="hydraulicBoundaryLocation">The hydraulic boundary location to set to the input.</param>
        /// <typeparam name="T">The type of semi-probabilistic calculation to create.</typeparam>
        /// <returns>A new instance of type <typeparamref name="T"/>.</returns>
        /// <remarks>The caller is responsible for actually providing a valid hydraulic boundary location
        /// (for instance when it comes to the presence of a normative assessment level).</remarks>
        /// <exception cref="ArgumentNullException">Throw when <paramref name="hydraulicBoundaryLocation"/> is <c>null</c>.</exception>
        public static T CreateCalculationWithValidInput <T>(HydraulicBoundaryLocation hydraulicBoundaryLocation)
            where T : SemiProbabilisticPipingCalculation, new()
        {
            if (hydraulicBoundaryLocation == null)
            {
                throw new ArgumentNullException(nameof(hydraulicBoundaryLocation));
            }

            return(new T
            {
                InputParameters =
                {
                    DampingFactorExit         =
                    {
                        Mean                  = (RoundedDouble)1.0
                    },
                    PhreaticLevelExit         =
                    {
                        Mean                  = (RoundedDouble)2.0
                    },
                    SurfaceLine               = PipingCalculationTestFactory.GetSurfaceLine(),
                    StochasticSoilProfile     = PipingCalculationTestFactory.GetStochasticSoilProfile(),
                    HydraulicBoundaryLocation = hydraulicBoundaryLocation
                }
            });
        }
 public void SetUp()
 {
     calculation             = PipingCalculationTestFactory.CreateCalculationWithValidInput(new TestHydraulicBoundaryLocation());
     testSurfaceLineTopLevel = calculation.InputParameters.SurfaceLine.Points.Max(p => p.Z);
 }