public void Constructor_CalculationTypeInvalid_ThrowsInvalidEnumArgumentException() { // Setup const PipingCalculationConfigurationType calculationType = (PipingCalculationConfigurationType)99; // Call void Call() => new PipingCalculationConfiguration("name", calculationType); // Assert var expectedMessage = $"The value of argument '{nameof(calculationType)}' ({calculationType}) is invalid for Enum type '{nameof(PipingCalculationConfigurationType)}'."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(Call, expectedMessage); }
/// <summary> /// Creates a new instance of <see cref="PipingCalculationConfiguration"/>. /// </summary> /// <param name="name">The name of the piping calculation.</param> /// <param name="calculationType">The piping calculation type.</param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="name"/> is <c>null</c>.</exception> /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="calculationType"/> /// has an invalid value.</exception> public PipingCalculationConfiguration(string name, PipingCalculationConfigurationType calculationType) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (!Enum.IsDefined(typeof(PipingCalculationConfigurationType), calculationType)) { throw new InvalidEnumArgumentException(nameof(calculationType), (int)calculationType, typeof(PipingCalculationConfigurationType)); } Name = name; CalculationType = calculationType; }
/// <inheritdoc/> /// <exception cref="NotSupportedException">Thrown when <paramref name="calculation"/> /// is of an unsupported type.</exception> protected override PipingCalculationConfiguration ToConfiguration(IPipingCalculationScenario <PipingInput> calculation) { PipingInput input = calculation.InputParameters; PipingCalculationConfigurationType calculationConfigurationType = GetCalculationConfigurationType(calculation); var calculationConfiguration = new PipingCalculationConfiguration(calculation.Name, calculationConfigurationType) { DampingFactorExit = input.DampingFactorExit.ToStochastConfiguration(), PhreaticLevelExit = input.PhreaticLevelExit.ToStochastConfiguration(), Scenario = calculation.ToScenarioConfiguration() }; if (input.SurfaceLine != null) { calculationConfiguration.SurfaceLineName = input.SurfaceLine.Name; calculationConfiguration.EntryPointL = input.EntryPointL; calculationConfiguration.ExitPointL = input.ExitPointL; } if (input.StochasticSoilModel != null) { calculationConfiguration.StochasticSoilModelName = input.StochasticSoilModel.Name; calculationConfiguration.StochasticSoilProfileName = input.StochasticSoilProfile?.SoilProfile.Name; } if (calculationConfigurationType == PipingCalculationConfigurationType.SemiProbabilistic) { ToSemiProbabilisticConfiguration(calculationConfiguration, (SemiProbabilisticPipingInput)calculation.InputParameters); } if (calculationConfigurationType == PipingCalculationConfigurationType.Probabilistic) { ToProbabilisticConfiguration(calculationConfiguration, (ProbabilisticPipingInput)calculation.InputParameters); } return(calculationConfiguration); }
private static PipingCalculationConfiguration CreateSparseCalculationConfiguration(string name, PipingCalculationConfigurationType calculationType) { return(new PipingCalculationConfiguration(name, calculationType)); }