public void Constructor_WithParameters_ReturnsNewInstance() { // Setup var configuration = new StabilityPointStructuresCalculationConfiguration("name"); var calculation = new StructuresCalculation <StabilityPointStructuresInput>(); // Call var assigner = new StabilityPointStructuresCalculationStochastAssigner( configuration, calculation); // Assert Assert.IsInstanceOf <StructuresCalculationStochastAssigner < StabilityPointStructuresCalculationConfiguration, StabilityPointStructuresInput, StabilityPointStructure> >(assigner); }
public void Assign_WithoutStructureParametersDefinedForStructureDependentStochast_ReturnsFalse( Action <StabilityPointStructuresCalculationConfiguration> updateConfiguration) { // Setup var configuration = new StabilityPointStructuresCalculationConfiguration("name"); updateConfiguration(configuration); var assigner = new StabilityPointStructuresCalculationStochastAssigner( configuration, new StructuresCalculation <StabilityPointStructuresInput>()); // Call bool valid = assigner.Assign(); // Assert Assert.IsFalse(valid); }
public void Constructor_WithName_ExpectedValues() { // Setup const string name = "some name"; // Call var configuration = new StabilityPointStructuresCalculationConfiguration(name); // Assert Assert.IsInstanceOf <StructuresCalculationConfiguration>(configuration); Assert.AreEqual(name, configuration.Name); Assert.IsNull(configuration.AreaFlowApertures); Assert.IsNull(configuration.BankWidth); Assert.IsNull(configuration.ConstructiveStrengthLinearLoadModel); Assert.IsNull(configuration.ConstructiveStrengthQuadraticLoadModel); Assert.IsNull(configuration.DrainCoefficient); Assert.IsNull(configuration.EvaluationLevel); Assert.IsNull(configuration.FactorStormDurationOpenStructure); Assert.IsNull(configuration.FailureCollisionEnergy); Assert.IsNull(configuration.FailureProbabilityRepairClosure); Assert.IsNull(configuration.FlowVelocityStructureClosable); Assert.IsNull(configuration.InflowModelType); Assert.IsNull(configuration.InsideWaterLevel); Assert.IsNull(configuration.InsideWaterLevelFailureConstruction); Assert.IsNull(configuration.LevelCrestStructure); Assert.IsNull(configuration.LevellingCount); Assert.IsNull(configuration.LoadSchematizationType); Assert.IsNull(configuration.ProbabilityCollisionSecondaryStructure); Assert.IsNull(configuration.ShipMass); Assert.IsNull(configuration.ShipVelocity); Assert.IsNull(configuration.StabilityLinearLoadModel); Assert.IsNull(configuration.StabilityQuadraticLoadModel); Assert.IsNull(configuration.ThresholdHeightOpenWeir); Assert.IsNull(configuration.VerticalDistance); Assert.IsNull(configuration.VolumicWeightWater); }
public void Assign_WithSpreadForFlowVelocityStructureClosable_LogsErrorReturnFalse(bool withStandardDeviation) { // Setup var configuration = new StabilityPointStructuresCalculationConfiguration("name") { StructureId = "some structure" }; configuration.FlowVelocityStructureClosable = new StochastConfiguration(); configuration.FlowVelocityStructureClosable.Mean = 8.1; if (withStandardDeviation) { configuration.FlowVelocityStructureClosable.StandardDeviation = 0.8; } else { configuration.FlowVelocityStructureClosable.VariationCoefficient = 0.8; } var calculation = new StructuresCalculation <StabilityPointStructuresInput>(); var assigner = new StabilityPointStructuresCalculationStochastAssigner( configuration, calculation); var valid = true; // Call Action test = () => valid = assigner.Assign(); // Assert const string expectedMessage = "Er kan geen spreiding voor stochast 'kritiekestroomsnelheid' opgegeven worden. Berekening 'name' is overgeslagen."; TestHelper.AssertLogMessageWithLevelIsGenerated(test, Tuple.Create(expectedMessage, LogLevelConstant.Error)); Assert.IsFalse(valid); }
public void Assign_WithAllStochastsSet_SetExpectedValuesOnInput() { // Setup var configuration = new StabilityPointStructuresCalculationConfiguration("name") { AllowedLevelIncreaseStorage = new StochastConfiguration { Mean = 1, StandardDeviation = 0.1 }, AreaFlowApertures = new StochastConfiguration { Mean = 2, StandardDeviation = 0.2 }, BankWidth = new StochastConfiguration { Mean = 3, StandardDeviation = 0.3 }, FlowWidthAtBottomProtection = new StochastConfiguration { Mean = 4, StandardDeviation = 0.4 }, InsideWaterLevel = new StochastConfiguration { Mean = 5, StandardDeviation = 0.5 }, InsideWaterLevelFailureConstruction = new StochastConfiguration { Mean = 6, StandardDeviation = 0.6 }, LevelCrestStructure = new StochastConfiguration { Mean = 7, StandardDeviation = 0.7 }, WidthFlowApertures = new StochastConfiguration { Mean = 8, StandardDeviation = 0.8 }, ThresholdHeightOpenWeir = new StochastConfiguration { Mean = 9, StandardDeviation = 0.9 }, DrainCoefficient = new StochastConfiguration { Mean = 10, StandardDeviation = 10.10 }, FlowVelocityStructureClosable = new StochastConfiguration { Mean = 1 }, CriticalOvertoppingDischarge = new StochastConfiguration { Mean = 2, VariationCoefficient = 0.2 }, ConstructiveStrengthLinearLoadModel = new StochastConfiguration { Mean = 3, VariationCoefficient = 0.3 }, ConstructiveStrengthQuadraticLoadModel = new StochastConfiguration { Mean = 4, VariationCoefficient = 0.4 }, FailureCollisionEnergy = new StochastConfiguration { Mean = 5, VariationCoefficient = 0.5 }, ShipMass = new StochastConfiguration { Mean = 6, VariationCoefficient = 0.6 }, ShipVelocity = new StochastConfiguration { Mean = 7, VariationCoefficient = 0.7 }, StabilityLinearLoadModel = new StochastConfiguration { Mean = 8, VariationCoefficient = 0.8 }, StabilityQuadraticLoadModel = new StochastConfiguration { Mean = 9, VariationCoefficient = 0.9 }, StorageStructureArea = new StochastConfiguration { Mean = 10, VariationCoefficient = 0.10 }, StormDuration = new StochastConfiguration { Mean = 11 }, StructureId = "some structure" }; var calculation = new StructuresCalculation <StabilityPointStructuresInput>(); var assigner = new StabilityPointStructuresCalculationStochastAssigner( configuration, calculation); // Call bool valid = assigner.Assign(); // Assert Assert.IsTrue(valid); }