Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs =================================================================== diff -u -r512177cc50d892bede45024499342a94ae867cfb -rf1e91e7553e8abbd2b82911ad00a9a13f884814d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs) (revision 512177cc50d892bede45024499342a94ae867cfb) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertLinearCalculationInputTest.cs) (revision f1e91e7553e8abbd2b82911ad00a9a13f884814d) @@ -19,10 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Structures; +using Ringtoets.HydraRing.Calculation.TestUtil; namespace Ringtoets.HydraRing.Calculation.Test.Data.Input.Structures { @@ -37,16 +39,104 @@ var section = new HydraRingSection(1, double.NaN, double.NaN); var forelandPoints = Enumerable.Empty(); + const double volumicWeightWater = 9.81; + const double gravitationalAcceleration = 9.81; + const double levelCrestStructureMean = 1.1; + const double levelCrestStructureStandardDeviation = 0.05; + const double structureNormalOrientation = 2.2; + const double factorStormDurationOpenStructure = 3.3; + const double modelFactorSubCriticalFlowMean = 1.0; + const double modelFactorSubCriticalFlowVariation = 0.1; + const double thresholdHeightOpenWeirMean = 4.4; + const double thresholdHeightOpenWeirStandardDeviation = 0.1; + const double insideWaterLevelFailureConstructionMean = 5.5; + const double insideWaterLevelFailureConstructionStandardDeviation = 0.1; + const double failureProbabilityRepairClosure = 6.6; + const double failureCollisionEnergyMean = 7.7; + const double failureCollisionEnergyVariation = 0.3; + const double modelFactorCollisionLoadMean = 1.0; + const double modelFactorCollisionLoadVariation = 0.2; + const double shipMassMean = 8.8; + const double shipMassVariation = 0.2; + const double shipVelocityMean = 9.9; + const double shipVelocityVariation = 0.2; + const double levelingCount = 10.10; + const double probabilityCollisionSecondaryStructure = 11.11; + const double flowVelocityStructureClosableMean = 12.12; + const double flowVelocityStructureClosableStandardDeviation = 1.0; + const double insideWaterLevelMean = 13.13; + const double insideWaterLevelStandardDeviation = 0.1; + const double allowedLevelIncreaseStorageMean = 14.14; + const double allowedLevelIncreaseStorageStandardDeviation = 0.1; + const double modelFactorStorageVolumeMean = 1.0; + const double modelFactorStorageVolumeStandardDeviation = 0.2; + const double storageStructureAreaMean = 15.15; + const double storageStructureAreaVariation = 0.1; + const double modelFactorInflowVolume = 1.0; + const double flowWidthAtBottomProtectionMean = 16.16; + const double flowWidthAtBottomProtectionStandardDeviation = 0.05; + const double criticalOvertoppingDischargeMean = 17.17; + const double criticalOvertoppingDischargeVariation = 0.15; + const double failureProbabilityStructureWithErosion = 18.18; + const double stormDurationMean = 7.5; + const double stormDurationVariation = 0.25; + const double bermWidthMean = 18.18; + const double bermWidthStandardDeviation = 19.19; + const double evaluationLevel = 0.0; + const double modelFactorLoadEffectMean = 1.0; + const double modelFactorLoadEffectStandardDeviation = 0.05; + const double waveRatioMaxHMean = 5000; + const double waveRatioMaxHStandardDeviation = 0.5; + const double verticalDistance = 20.20; + const double modificationFactorWavesSlowlyVaryingPressureComponent = 1.0; + const double modificationFactorDynamicOrImpulsivePressureComponent = 1.0; + const double drainCoefficientMean = 1.0; + const double drainCoefficientStandardDeviation = 0.2; + const double areaFlowAperturesMean = 21.21; + const double areaFlowAperturesStandardDeviation = 0.01; + const double stabilityLinearLoadModelMean = 22.22; + const double stabilityLinearLoadModelVariation = 0.1; + const double constructiveStrengthLinearLoadModelMean = 23.23; + const double constructiveStrengthLinearLoadModelVariation = 0.1; + // Call var input = new StructuresStabilityPointFloodedCulvertLinearCalculationInput(hydraulicBoundaryLocationId, section, forelandPoints, - 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, - 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, - 18.18, 19.19, 20.20, 21.21, 22.22, 23.23, 24.24, - 25.25, 26.26, 27.27, 28.28, 29.29, 30.30, 31.31, - 32.32, 33.33, 34.34, 35.35, 36.36, 37.37, 38.38, - 39.39, 40.40, 41.41, 42.42, 43.43, 44.44, 45.45, - 46.46, 47.47, 48.48, 49.49, 50.50, 51.51, 52.52, - 53.53, 54.54, 55.55, 56.56, 57.57, 58.58, 59.59); + volumicWeightWater, + gravitationalAcceleration, + levelCrestStructureMean, levelCrestStructureStandardDeviation, + structureNormalOrientation, + factorStormDurationOpenStructure, + modelFactorSubCriticalFlowMean, modelFactorSubCriticalFlowVariation, + thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation, + insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation, + failureProbabilityRepairClosure, + failureCollisionEnergyMean, failureCollisionEnergyVariation, + modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation, + shipMassMean, shipMassVariation, + shipVelocityMean, shipVelocityVariation, + levelingCount, + probabilityCollisionSecondaryStructure, + flowVelocityStructureClosableMean, flowVelocityStructureClosableStandardDeviation, + insideWaterLevelMean, insideWaterLevelStandardDeviation, + allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation, + modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation, + storageStructureAreaMean, storageStructureAreaVariation, + modelFactorInflowVolume, + flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation, + criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation, + failureProbabilityStructureWithErosion, + stormDurationMean, stormDurationVariation, + bermWidthMean, bermWidthStandardDeviation, + evaluationLevel, + modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation, + waveRatioMaxHMean, waveRatioMaxHStandardDeviation, + verticalDistance, + modificationFactorWavesSlowlyVaryingPressureComponent, + modificationFactorDynamicOrImpulsivePressureComponent, + drainCoefficientMean, drainCoefficientStandardDeviation, + areaFlowAperturesMean, areaFlowAperturesStandardDeviation, + stabilityLinearLoadModelMean, stabilityLinearLoadModelVariation, + constructiveStrengthLinearLoadModelMean, constructiveStrengthLinearLoadModelVariation); // Assert Assert.IsInstanceOf(input); @@ -56,6 +146,7 @@ Assert.AreEqual(HydraRingFailureMechanismType.StructuresStructuralFailure, input.FailureMechanismType); Assert.AreSame(section, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); + HydraRingVariableAssert.AreEqual(GetDefaultVariables().ToArray(), input.Variables.ToArray()); } [Test] @@ -85,5 +176,45 @@ // Assert Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); } + + private static IEnumerable GetDefaultVariables() + { + yield return new HydraRingVariable(43, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(58, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(60, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.05, double.NaN); + yield return new HydraRingVariable(61, HydraRingDistributionType.Deterministic, 2.2, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(63, HydraRingDistributionType.Deterministic, 3.3, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(64, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.1, double.NaN); + yield return new HydraRingVariable(65, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 4.4, 0.1, double.NaN); + yield return new HydraRingVariable(66, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(67, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 21.21, 0.01, double.NaN); + yield return new HydraRingVariable(80, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 22.22, 0.1, double.NaN); + yield return new HydraRingVariable(82, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5.5, 0.1, double.NaN); + yield return new HydraRingVariable(83, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 23.23, 0.1, double.NaN); + yield return new HydraRingVariable(85, HydraRingDistributionType.Deterministic, 6.6, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(86, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.7, 0.3, double.NaN); + yield return new HydraRingVariable(87, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(88, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 8.8, 0.2, double.NaN); + yield return new HydraRingVariable(89, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 9.9, 0.2, double.NaN); + yield return new HydraRingVariable(90, HydraRingDistributionType.Deterministic, 10.10, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(91, HydraRingDistributionType.Deterministic, 11.11, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(92, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 12.12, 1.0, double.NaN); + yield return new HydraRingVariable(93, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 13.13, 0.1, double.NaN); + yield return new HydraRingVariable(94, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 14.14, 0.1, double.NaN); + yield return new HydraRingVariable(95, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(96, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 15.15, 0.1, double.NaN); + yield return new HydraRingVariable(97, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(103, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 16.16, 0.05, double.NaN); + yield return new HydraRingVariable(104, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 17.17, 0.15, double.NaN); + yield return new HydraRingVariable(105, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 0.0, double.NaN); + yield return new HydraRingVariable(108, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.5, 0.25, double.NaN); + yield return new HydraRingVariable(130, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 19.19, double.NaN); + yield return new HydraRingVariable(131, HydraRingDistributionType.Deterministic, 0.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(132, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.05, double.NaN); + yield return new HydraRingVariable(133, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5000, 0.5, double.NaN); + yield return new HydraRingVariable(134, HydraRingDistributionType.Deterministic, 20.20, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(135, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(136, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs =================================================================== diff -u -r512177cc50d892bede45024499342a94ae867cfb -rf1e91e7553e8abbd2b82911ad00a9a13f884814d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs) (revision 512177cc50d892bede45024499342a94ae867cfb) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs (.../StructuresStabilityPointFloodedCulvertQuadraticCalculationInputTest.cs) (revision f1e91e7553e8abbd2b82911ad00a9a13f884814d) @@ -19,10 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Structures; +using Ringtoets.HydraRing.Calculation.TestUtil; namespace Ringtoets.HydraRing.Calculation.Test.Data.Input.Structures { @@ -37,16 +39,104 @@ var section = new HydraRingSection(1, double.NaN, double.NaN); var forelandPoints = Enumerable.Empty(); + const double volumicWeightWater = 9.81; + const double gravitationalAcceleration = 9.81; + const double levelCrestStructureMean = 1.1; + const double levelCrestStructureStandardDeviation = 0.05; + const double structureNormalOrientation = 2.2; + const double factorStormDurationOpenStructure = 3.3; + const double modelFactorSubCriticalFlowMean = 1.0; + const double modelFactorSubCriticalFlowVariation = 0.1; + const double thresholdHeightOpenWeirMean = 4.4; + const double thresholdHeightOpenWeirStandardDeviation = 0.1; + const double insideWaterLevelFailureConstructionMean = 5.5; + const double insideWaterLevelFailureConstructionStandardDeviation = 0.1; + const double failureProbabilityRepairClosure = 6.6; + const double failureCollisionEnergyMean = 7.7; + const double failureCollisionEnergyVariation = 0.3; + const double modelFactorCollisionLoadMean = 1.0; + const double modelFactorCollisionLoadVariation = 0.2; + const double shipMassMean = 8.8; + const double shipMassVariation = 0.2; + const double shipVelocityMean = 9.9; + const double shipVelocityVariation = 0.2; + const double levelingCount = 10.10; + const double probabilityCollisionSecondaryStructure = 11.11; + const double flowVelocityStructureClosableMean = 12.12; + const double flowVelocityStructureClosableStandardDeviation = 1.0; + const double insideWaterLevelMean = 13.13; + const double insideWaterLevelStandardDeviation = 0.1; + const double allowedLevelIncreaseStorageMean = 14.14; + const double allowedLevelIncreaseStorageStandardDeviation = 0.1; + const double modelFactorStorageVolumeMean = 1.0; + const double modelFactorStorageVolumeStandardDeviation = 0.2; + const double storageStructureAreaMean = 15.15; + const double storageStructureAreaVariation = 0.1; + const double modelFactorInflowVolume = 1.0; + const double flowWidthAtBottomProtectionMean = 16.16; + const double flowWidthAtBottomProtectionStandardDeviation = 0.05; + const double criticalOvertoppingDischargeMean = 17.17; + const double criticalOvertoppingDischargeVariation = 0.15; + const double failureProbabilityStructureWithErosion = 18.18; + const double stormDurationMean = 7.5; + const double stormDurationVariation = 0.25; + const double bermWidthMean = 18.18; + const double bermWidthStandardDeviation = 19.19; + const double evaluationLevel = 0.0; + const double modelFactorLoadEffectMean = 1.0; + const double modelFactorLoadEffectStandardDeviation = 0.05; + const double waveRatioMaxHMean = 5000; + const double waveRatioMaxHStandardDeviation = 0.5; + const double verticalDistance = 20.20; + const double modificationFactorWavesSlowlyVaryingPressureComponent = 1.0; + const double modificationFactorDynamicOrImpulsivePressureComponent = 1.0; + const double drainCoefficientMean = 1.0; + const double drainCoefficientStandardDeviation = 0.2; + const double areaFlowAperturesMean = 21.21; + const double areaFlowAperturesStandardDeviation = 0.01; + const double stabilityQuadraticLoadModelMean = 22.22; + const double stabilityQuadraticLoadModelVariation = 0.1; + const double constructiveStrengthQuadraticLoadModelMean = 23.23; + const double constructiveStrengthQuadraticLoadModelVariation = 0.1; + // Call var input = new StructuresStabilityPointFloodedCulvertQuadraticCalculationInput(hydraulicBoundaryLocationId, section, forelandPoints, - 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, - 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, - 18.18, 19.19, 20.20, 21.21, 22.22, 23.23, 24.24, - 25.25, 26.26, 27.27, 28.28, 29.29, 30.30, 31.31, - 32.32, 33.33, 34.34, 35.35, 36.36, 37.37, 38.38, - 39.39, 40.40, 41.41, 42.42, 43.43, 44.44, 45.45, - 46.46, 47.47, 48.48, 49.49, 50.50, 51.51, 52.52, - 53.53, 54.54, 55.55, 56.56, 57.57, 58.58, 59.59); + volumicWeightWater, + gravitationalAcceleration, + levelCrestStructureMean, levelCrestStructureStandardDeviation, + structureNormalOrientation, + factorStormDurationOpenStructure, + modelFactorSubCriticalFlowMean, modelFactorSubCriticalFlowVariation, + thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation, + insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation, + failureProbabilityRepairClosure, + failureCollisionEnergyMean, failureCollisionEnergyVariation, + modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation, + shipMassMean, shipMassVariation, + shipVelocityMean, shipVelocityVariation, + levelingCount, + probabilityCollisionSecondaryStructure, + flowVelocityStructureClosableMean, flowVelocityStructureClosableStandardDeviation, + insideWaterLevelMean, insideWaterLevelStandardDeviation, + allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation, + modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation, + storageStructureAreaMean, storageStructureAreaVariation, + modelFactorInflowVolume, + flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation, + criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation, + failureProbabilityStructureWithErosion, + stormDurationMean, stormDurationVariation, + bermWidthMean, bermWidthStandardDeviation, + evaluationLevel, + modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation, + waveRatioMaxHMean, waveRatioMaxHStandardDeviation, + verticalDistance, + modificationFactorWavesSlowlyVaryingPressureComponent, + modificationFactorDynamicOrImpulsivePressureComponent, + drainCoefficientMean, drainCoefficientStandardDeviation, + areaFlowAperturesMean, areaFlowAperturesStandardDeviation, + stabilityQuadraticLoadModelMean, stabilityQuadraticLoadModelVariation, + constructiveStrengthQuadraticLoadModelMean, constructiveStrengthQuadraticLoadModelVariation); // Assert Assert.IsInstanceOf(input); @@ -56,6 +146,7 @@ Assert.AreEqual(HydraRingFailureMechanismType.StructuresStructuralFailure, input.FailureMechanismType); Assert.AreSame(section, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); + HydraRingVariableAssert.AreEqual(GetDefaultVariables().ToArray(), input.Variables.ToArray()); } [Test] @@ -85,5 +176,45 @@ // Assert Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); } + + private static IEnumerable GetDefaultVariables() + { + yield return new HydraRingVariable(43, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(58, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(60, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.05, double.NaN); + yield return new HydraRingVariable(61, HydraRingDistributionType.Deterministic, 2.2, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(63, HydraRingDistributionType.Deterministic, 3.3, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(64, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.1, double.NaN); + yield return new HydraRingVariable(65, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 4.4, 0.1, double.NaN); + yield return new HydraRingVariable(66, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(67, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 21.21, 0.01, double.NaN); + yield return new HydraRingVariable(81, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 22.22, 0.1, double.NaN); + yield return new HydraRingVariable(82, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5.5, 0.1, double.NaN); + yield return new HydraRingVariable(84, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 23.23, 0.1, double.NaN); + yield return new HydraRingVariable(85, HydraRingDistributionType.Deterministic, 6.6, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(86, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.7, 0.3, double.NaN); + yield return new HydraRingVariable(87, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(88, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 8.8, 0.2, double.NaN); + yield return new HydraRingVariable(89, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 9.9, 0.2, double.NaN); + yield return new HydraRingVariable(90, HydraRingDistributionType.Deterministic, 10.10, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(91, HydraRingDistributionType.Deterministic, 11.11, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(92, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 12.12, 1.0, double.NaN); + yield return new HydraRingVariable(93, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 13.13, 0.1, double.NaN); + yield return new HydraRingVariable(94, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 14.14, 0.1, double.NaN); + yield return new HydraRingVariable(95, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(96, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 15.15, 0.1, double.NaN); + yield return new HydraRingVariable(97, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(103, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 16.16, 0.05, double.NaN); + yield return new HydraRingVariable(104, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 17.17, 0.15, double.NaN); + yield return new HydraRingVariable(105, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 0.0, double.NaN); + yield return new HydraRingVariable(108, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.5, 0.25, double.NaN); + yield return new HydraRingVariable(130, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 19.19, double.NaN); + yield return new HydraRingVariable(131, HydraRingDistributionType.Deterministic, 0.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(132, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.05, double.NaN); + yield return new HydraRingVariable(133, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5000, 0.5, double.NaN); + yield return new HydraRingVariable(134, HydraRingDistributionType.Deterministic, 20.20, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(135, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(136, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs =================================================================== diff -u -r512177cc50d892bede45024499342a94ae867cfb -rf1e91e7553e8abbd2b82911ad00a9a13f884814d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs (.../StructuresStabilityPointLowSillLinearCalculationInputTest.cs) (revision 512177cc50d892bede45024499342a94ae867cfb) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillLinearCalculationInputTest.cs (.../StructuresStabilityPointLowSillLinearCalculationInputTest.cs) (revision f1e91e7553e8abbd2b82911ad00a9a13f884814d) @@ -19,10 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Structures; +using Ringtoets.HydraRing.Calculation.TestUtil; namespace Ringtoets.HydraRing.Calculation.Test.Data.Input.Structures { @@ -37,16 +39,104 @@ var section = new HydraRingSection(1, double.NaN, double.NaN); var forelandPoints = Enumerable.Empty(); + const double volumicWeightWater = 9.81; + const double gravitationalAcceleration = 9.81; + const double levelCrestStructureMean = 1.1; + const double levelCrestStructureStandardDeviation = 0.05; + const double structureNormalOrientation = 2.2; + const double factorStormDurationOpenStructure = 3.3; + const double modelFactorSubCriticalFlowMean = 1.0; + const double modelFactorSubCriticalFlowVariation = 0.1; + const double thresholdHeightOpenWeirMean = 4.4; + const double thresholdHeightOpenWeirStandardDeviation = 0.1; + const double insideWaterLevelFailureConstructionMean = 5.5; + const double insideWaterLevelFailureConstructionStandardDeviation = 0.1; + const double failureProbabilityRepairClosure = 6.6; + const double failureCollisionEnergyMean = 7.7; + const double failureCollisionEnergyVariation = 0.3; + const double modelFactorCollisionLoadMean = 1.0; + const double modelFactorCollisionLoadVariation = 0.2; + const double shipMassMean = 8.8; + const double shipMassVariation = 0.2; + const double shipVelocityMean = 9.9; + const double shipVelocityVariation = 0.2; + const double levelingCount = 10.10; + const double probabilityCollisionSecondaryStructure = 11.11; + const double flowVelocityStructureClosableMean = 12.12; + const double flowVelocityStructureClosableStandardDeviation = 1.0; + const double insideWaterLevelMean = 13.13; + const double insideWaterLevelStandardDeviation = 0.1; + const double allowedLevelIncreaseStorageMean = 14.14; + const double allowedLevelIncreaseStorageStandardDeviation = 0.1; + const double modelFactorStorageVolumeMean = 1.0; + const double modelFactorStorageVolumeStandardDeviation = 0.2; + const double storageStructureAreaMean = 15.15; + const double storageStructureAreaVariation = 0.1; + const double modelFactorInflowVolume = 1.0; + const double flowWidthAtBottomProtectionMean = 16.16; + const double flowWidthAtBottomProtectionStandardDeviation = 0.05; + const double criticalOvertoppingDischargeMean = 17.17; + const double criticalOvertoppingDischargeVariation = 0.15; + const double failureProbabilityStructureWithErosion = 18.18; + const double stormDurationMean = 7.5; + const double stormDurationVariation = 0.25; + const double bermWidthMean = 18.18; + const double bermWidthStandardDeviation = 19.19; + const double evaluationLevel = 0.0; + const double modelFactorLoadEffectMean = 1.0; + const double modelFactorLoadEffectStandardDeviation = 0.05; + const double waveRatioMaxHMean = 5000; + const double waveRatioMaxHStandardDeviation = 0.5; + const double verticalDistance = 20.20; + const double modificationFactorWavesSlowlyVaryingPressureComponent = 1.0; + const double modificationFactorDynamicOrImpulsivePressureComponent = 1.0; + const double modelFactorSuperCriticalFlowMean = 1.1; + const double modelFactorSuperCriticalFlowStandardDeviation = 0.03; + const double stabilityLinearLoadModelMean = 21.21; + const double stabilityLinearLoadModelVariation = 0.1; + const double constructiveStrengthLinearLoadModelMean = 22.22; + const double constructiveStrengthLinearLoadModelVariation = 0.1; + const double widthFlowAperturesMean = 23.23; + const double widthFlowAperturesVariation = 0.05; + // Call var input = new StructuresStabilityPointLowSillLinearCalculationInput(hydraulicBoundaryLocationId, section, forelandPoints, - 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, - 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, - 18.18, 19.19, 20.20, 21.21, 22.22, 23.23, 24.24, - 25.25, 26.26, 27.27, 28.28, 29.29, 30.30, 31.31, - 32.32, 33.33, 34.34, 35.35, 36.36, 37.37, 38.38, - 39.39, 40.40, 41.41, 42.42, 43.43, 44.44, 45.45, - 46.46, 47.47, 48.48, 49.49, 50.50, 51.51, 52.52, - 53.53, 54.54, 55.55, 56.56, 57.57, 58.58, 59.59); + volumicWeightWater, + gravitationalAcceleration, + levelCrestStructureMean, levelCrestStructureStandardDeviation, + structureNormalOrientation, + factorStormDurationOpenStructure, + modelFactorSubCriticalFlowMean, modelFactorSubCriticalFlowVariation, + thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation, + insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation, + failureProbabilityRepairClosure, + failureCollisionEnergyMean, failureCollisionEnergyVariation, + modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation, + shipMassMean, shipMassVariation, + shipVelocityMean, shipVelocityVariation, + levelingCount, + probabilityCollisionSecondaryStructure, + flowVelocityStructureClosableMean, flowVelocityStructureClosableStandardDeviation, + insideWaterLevelMean, insideWaterLevelStandardDeviation, + allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation, + modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation, + storageStructureAreaMean, storageStructureAreaVariation, + modelFactorInflowVolume, + flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation, + criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation, + failureProbabilityStructureWithErosion, + stormDurationMean, stormDurationVariation, + bermWidthMean, bermWidthStandardDeviation, + evaluationLevel, + modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation, + waveRatioMaxHMean, waveRatioMaxHStandardDeviation, + verticalDistance, + modificationFactorWavesSlowlyVaryingPressureComponent, + modificationFactorDynamicOrImpulsivePressureComponent, + modelFactorSuperCriticalFlowMean, modelFactorSuperCriticalFlowStandardDeviation, + stabilityLinearLoadModelMean, stabilityLinearLoadModelVariation, + constructiveStrengthLinearLoadModelMean, constructiveStrengthLinearLoadModelVariation, + widthFlowAperturesMean, widthFlowAperturesVariation); // Assert Assert.IsInstanceOf(input); @@ -56,6 +146,7 @@ Assert.AreEqual(HydraRingFailureMechanismType.StructuresStructuralFailure, input.FailureMechanismType); Assert.AreSame(section, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); + HydraRingVariableAssert.AreEqual(GetDefaultVariables().ToArray(), input.Variables.ToArray()); } [Test] @@ -85,5 +176,45 @@ // Assert Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); } + + private static IEnumerable GetDefaultVariables() + { + yield return new HydraRingVariable(43, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(58, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(60, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.05, double.NaN); + yield return new HydraRingVariable(61, HydraRingDistributionType.Deterministic, 2.2, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(62, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.03, double.NaN); + yield return new HydraRingVariable(63, HydraRingDistributionType.Deterministic, 3.3, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(64, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.1, double.NaN); + yield return new HydraRingVariable(65, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 4.4, 0.1, double.NaN); + yield return new HydraRingVariable(80, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 21.21, 0.1, double.NaN); + yield return new HydraRingVariable(82, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5.5, 0.1, double.NaN); + yield return new HydraRingVariable(83, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 22.22, 0.1, double.NaN); + yield return new HydraRingVariable(85, HydraRingDistributionType.Deterministic, 6.6, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(86, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.7, 0.3, double.NaN); + yield return new HydraRingVariable(87, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(88, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 8.8, 0.2, double.NaN); + yield return new HydraRingVariable(89, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 9.9, 0.2, double.NaN); + yield return new HydraRingVariable(90, HydraRingDistributionType.Deterministic, 10.10, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(91, HydraRingDistributionType.Deterministic, 11.11, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(92, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 12.12, 1.0, double.NaN); + yield return new HydraRingVariable(93, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 13.13, 0.1, double.NaN); + yield return new HydraRingVariable(94, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 14.14, 0.1, double.NaN); + yield return new HydraRingVariable(95, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(96, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 15.15, 0.1, double.NaN); + yield return new HydraRingVariable(97, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(103, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 16.16, 0.05, double.NaN); + yield return new HydraRingVariable(104, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 17.17, 0.15, double.NaN); + yield return new HydraRingVariable(105, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 0.0, double.NaN); + yield return new HydraRingVariable(106, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 23.23, 0.05, double.NaN); + yield return new HydraRingVariable(108, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.5, 0.25, double.NaN); + yield return new HydraRingVariable(130, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 19.19, double.NaN); + yield return new HydraRingVariable(131, HydraRingDistributionType.Deterministic, 0.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(132, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.05, double.NaN); + yield return new HydraRingVariable(133, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5000, 0.5, double.NaN); + yield return new HydraRingVariable(134, HydraRingDistributionType.Deterministic, 20.20, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(135, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(136, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs =================================================================== diff -u -r512177cc50d892bede45024499342a94ae867cfb -rf1e91e7553e8abbd2b82911ad00a9a13f884814d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs) (revision 512177cc50d892bede45024499342a94ae867cfb) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Structures/StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs (.../StructuresStabilityPointLowSillQuadraticCalculationInputTest.cs) (revision f1e91e7553e8abbd2b82911ad00a9a13f884814d) @@ -19,10 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Structures; +using Ringtoets.HydraRing.Calculation.TestUtil; namespace Ringtoets.HydraRing.Calculation.Test.Data.Input.Structures { @@ -37,16 +39,104 @@ var section = new HydraRingSection(1, double.NaN, double.NaN); var forelandPoints = Enumerable.Empty(); + const double volumicWeightWater = 9.81; + const double gravitationalAcceleration = 9.81; + const double levelCrestStructureMean = 1.1; + const double levelCrestStructureStandardDeviation = 0.05; + const double structureNormalOrientation = 2.2; + const double factorStormDurationOpenStructure = 3.3; + const double modelFactorSubCriticalFlowMean = 1.0; + const double modelFactorSubCriticalFlowVariation = 0.1; + const double thresholdHeightOpenWeirMean = 4.4; + const double thresholdHeightOpenWeirStandardDeviation = 0.1; + const double insideWaterLevelFailureConstructionMean = 5.5; + const double insideWaterLevelFailureConstructionStandardDeviation = 0.1; + const double failureProbabilityRepairClosure = 6.6; + const double failureCollisionEnergyMean = 7.7; + const double failureCollisionEnergyVariation = 0.3; + const double modelFactorCollisionLoadMean = 1.0; + const double modelFactorCollisionLoadVariation = 0.2; + const double shipMassMean = 8.8; + const double shipMassVariation = 0.2; + const double shipVelocityMean = 9.9; + const double shipVelocityVariation = 0.2; + const double levelingCount = 10.10; + const double probabilityCollisionSecondaryStructure = 11.11; + const double flowVelocityStructureClosableMean = 12.12; + const double flowVelocityStructureClosableStandardDeviation = 1.0; + const double insideWaterLevelMean = 13.13; + const double insideWaterLevelStandardDeviation = 0.1; + const double allowedLevelIncreaseStorageMean = 14.14; + const double allowedLevelIncreaseStorageStandardDeviation = 0.1; + const double modelFactorStorageVolumeMean = 1.0; + const double modelFactorStorageVolumeStandardDeviation = 0.2; + const double storageStructureAreaMean = 15.15; + const double storageStructureAreaVariation = 0.1; + const double modelFactorInflowVolume = 1.0; + const double flowWidthAtBottomProtectionMean = 16.16; + const double flowWidthAtBottomProtectionStandardDeviation = 0.05; + const double criticalOvertoppingDischargeMean = 17.17; + const double criticalOvertoppingDischargeVariation = 0.15; + const double failureProbabilityStructureWithErosion = 18.18; + const double stormDurationMean = 7.5; + const double stormDurationVariation = 0.25; + const double bermWidthMean = 18.18; + const double bermWidthStandardDeviation = 19.19; + const double evaluationLevel = 0.0; + const double modelFactorLoadEffectMean = 1.0; + const double modelFactorLoadEffectStandardDeviation = 0.05; + const double waveRatioMaxHMean = 5000; + const double waveRatioMaxHStandardDeviation = 0.5; + const double verticalDistance = 20.20; + const double modificationFactorWavesSlowlyVaryingPressureComponent = 1.0; + const double modificationFactorDynamicOrImpulsivePressureComponent = 1.0; + const double modelFactorSuperCriticalFlowMean = 1.1; + const double modelFactorSuperCriticalFlowStandardDeviation = 0.03; + const double stabilityQuadraticLoadModelMean = 21.21; + const double stabilityQuadraticLoadModelVariation = 0.1; + const double constructiveStrengthQuadraticLoadModelMean = 22.22; + const double constructiveStrengthQuadraticLoadModelVariation = 0.1; + const double widthFlowAperturesMean = 23.23; + const double widthFlowAperturesVariation = 0.05; + // Call var input = new StructuresStabilityPointLowSillQuadraticCalculationInput(hydraulicBoundaryLocationId, section, forelandPoints, - 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10, - 11.11, 12.12, 13.13, 14.14, 15.15, 16.16, 17.17, - 18.18, 19.19, 20.20, 21.21, 22.22, 23.23, 24.24, - 25.25, 26.26, 27.27, 28.28, 29.29, 30.30, 31.31, - 32.32, 33.33, 34.34, 35.35, 36.36, 37.37, 38.38, - 39.39, 40.40, 41.41, 42.42, 43.43, 44.44, 45.45, - 46.46, 47.47, 48.48, 49.49, 50.50, 51.51, 52.52, - 53.53, 54.54, 55.55, 56.56, 57.57, 58.58, 59.59); + volumicWeightWater, + gravitationalAcceleration, + levelCrestStructureMean, levelCrestStructureStandardDeviation, + structureNormalOrientation, + factorStormDurationOpenStructure, + modelFactorSubCriticalFlowMean, modelFactorSubCriticalFlowVariation, + thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation, + insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation, + failureProbabilityRepairClosure, + failureCollisionEnergyMean, failureCollisionEnergyVariation, + modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation, + shipMassMean, shipMassVariation, + shipVelocityMean, shipVelocityVariation, + levelingCount, + probabilityCollisionSecondaryStructure, + flowVelocityStructureClosableMean, flowVelocityStructureClosableStandardDeviation, + insideWaterLevelMean, insideWaterLevelStandardDeviation, + allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation, + modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation, + storageStructureAreaMean, storageStructureAreaVariation, + modelFactorInflowVolume, + flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation, + criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation, + failureProbabilityStructureWithErosion, + stormDurationMean, stormDurationVariation, + bermWidthMean, bermWidthStandardDeviation, + evaluationLevel, + modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation, + waveRatioMaxHMean, waveRatioMaxHStandardDeviation, + verticalDistance, + modificationFactorWavesSlowlyVaryingPressureComponent, + modificationFactorDynamicOrImpulsivePressureComponent, + modelFactorSuperCriticalFlowMean, modelFactorSuperCriticalFlowStandardDeviation, + stabilityQuadraticLoadModelMean, stabilityQuadraticLoadModelVariation, + constructiveStrengthQuadraticLoadModelMean, constructiveStrengthQuadraticLoadModelVariation, + widthFlowAperturesMean, widthFlowAperturesVariation); // Assert Assert.IsInstanceOf(input); @@ -56,6 +146,7 @@ Assert.AreEqual(HydraRingFailureMechanismType.StructuresStructuralFailure, input.FailureMechanismType); Assert.AreSame(section, input.Section); Assert.AreSame(forelandPoints, input.ForelandsPoints); + HydraRingVariableAssert.AreEqual(GetDefaultVariables().ToArray(), input.Variables.ToArray()); } [Test] @@ -85,5 +176,45 @@ // Assert Assert.AreEqual(expectedSubMechanismModelId, actualSubmechanismModelId); } + + private static IEnumerable GetDefaultVariables() + { + yield return new HydraRingVariable(43, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(58, HydraRingDistributionType.Deterministic, 9.81, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(60, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.05, double.NaN); + yield return new HydraRingVariable(61, HydraRingDistributionType.Deterministic, 2.2, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(62, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.1, 0.03, double.NaN); + yield return new HydraRingVariable(63, HydraRingDistributionType.Deterministic, 3.3, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(64, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.1, double.NaN); + yield return new HydraRingVariable(65, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 4.4, 0.1, double.NaN); + yield return new HydraRingVariable(81, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 21.21, 0.1, double.NaN); + yield return new HydraRingVariable(82, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5.5, 0.1, double.NaN); + yield return new HydraRingVariable(84, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 22.22, 0.1, double.NaN); + yield return new HydraRingVariable(85, HydraRingDistributionType.Deterministic, 6.6, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(86, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.7, 0.3, double.NaN); + yield return new HydraRingVariable(87, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(88, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 8.8, 0.2, double.NaN); + yield return new HydraRingVariable(89, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 9.9, 0.2, double.NaN); + yield return new HydraRingVariable(90, HydraRingDistributionType.Deterministic, 10.10, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(91, HydraRingDistributionType.Deterministic, 11.11, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(92, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 12.12, 1.0, double.NaN); + yield return new HydraRingVariable(93, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 13.13, 0.1, double.NaN); + yield return new HydraRingVariable(94, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 14.14, 0.1, double.NaN); + yield return new HydraRingVariable(95, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.2, double.NaN); + yield return new HydraRingVariable(96, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 15.15, 0.1, double.NaN); + yield return new HydraRingVariable(97, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(103, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Standard, 16.16, 0.05, double.NaN); + yield return new HydraRingVariable(104, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 17.17, 0.15, double.NaN); + yield return new HydraRingVariable(105, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 0.0, double.NaN); + yield return new HydraRingVariable(106, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Variation, 23.23, 0.05, double.NaN); + yield return new HydraRingVariable(108, HydraRingDistributionType.LogNormal, double.NaN, HydraRingDeviationType.Variation, 7.5, 0.25, double.NaN); + yield return new HydraRingVariable(130, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 18.18, 19.19, double.NaN); + yield return new HydraRingVariable(131, HydraRingDistributionType.Deterministic, 0.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(132, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 1.0, 0.05, double.NaN); + yield return new HydraRingVariable(133, HydraRingDistributionType.Normal, double.NaN, HydraRingDeviationType.Standard, 5000, 0.5, double.NaN); + yield return new HydraRingVariable(134, HydraRingDistributionType.Deterministic, 20.20, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(135, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + yield return new HydraRingVariable(136, HydraRingDistributionType.Deterministic, 1.0, HydraRingDeviationType.Standard, double.NaN, double.NaN, double.NaN); + } } } \ No newline at end of file