Exemple #1
0
        public void GetSubMechanismModelId_Always_ReturnsExpectedValues(int subMechanismModelId, int?expectedSubMechanismModelId)
        {
            // Setup
            var input = new StructuresStabilityPointFloodedCulvertLinearCalculationInput(111, double.NaN,
                                                                                         Enumerable.Empty <HydraRingForelandPoint>(),
                                                                                         new HydraRingBreakWater(1, 1.1),
                                                                                         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, 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.85, 59.59);

            // Call
            int?actualSubMechanismModelId = input.GetSubMechanismModelId(subMechanismModelId);

            // Assert
            Assert.AreEqual(expectedSubMechanismModelId, actualSubMechanismModelId);
        }
Exemple #2
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            const int hydraulicBoundaryLocationId = 1000;
            IEnumerable <HydraRingForelandPoint> forelandPoints = Enumerable.Empty <HydraRingForelandPoint>();
            var breakWater = new HydraRingBreakWater(1, 1.1);

            const double sectionNormal                                        = 60.0;
            const double volumicWeightWater                                   = 1.1;
            const double gravitationalAcceleration                            = 2.2;
            const double levelCrestStructureMean                              = 3.3;
            const double levelCrestStructureStandardDeviation                 = 4.4;
            const double structureNormalOrientation                           = 5.5;
            const double factorStormDurationOpenStructure                     = 6.6;
            const double thresholdHeightOpenWeirMean                          = 7.7;
            const double thresholdHeightOpenWeirStandardDeviation             = 8.8;
            const double insideWaterLevelFailureConstructionMean              = 9.9;
            const double insideWaterLevelFailureConstructionStandardDeviation = 10.10;
            const double failureProbabilityRepairClosure                      = 11.11;
            const double failureCollisionEnergyMean                           = 12.12;
            const double failureCollisionEnergyVariation                      = 13.13;
            const double modelFactorCollisionLoadMean                         = 14.14;
            const double modelFactorCollisionLoadVariation                    = 15.15;
            const double shipMassMean          = 16.16;
            const double shipMassVariation     = 17.17;
            const double shipVelocityMean      = 18.18;
            const double shipVelocityVariation = 19.19;
            const int    levellingCount        = 20;
            const double probabilityCollisionSecondaryStructure = 21.21;
            const double flowVelocityStructureClosableMean      = 22.22;
            const double flowVelocityStructureClosableVariation = 23.23;
            const double insideWaterLevelMean = 24.24;
            const double insideWaterLevelStandardDeviation            = 25.25;
            const double allowedLevelIncreaseStorageMean              = 26.26;
            const double allowedLevelIncreaseStorageStandardDeviation = 27.27;
            const double modelFactorStorageVolumeMean = 28.28;
            const double modelFactorStorageVolumeStandardDeviation = 29.29;
            const double storageStructureAreaMean        = 30.30;
            const double storageStructureAreaVariation   = 31.31;
            const double modelFactorInflowVolume         = 32.32;
            const double flowWidthAtBottomProtectionMean = 33.33;
            const double flowWidthAtBottomProtectionStandardDeviation = 34.34;
            const double criticalOvertoppingDischargeMean             = 35.35;
            const double criticalOvertoppingDischargeVariation        = 36.36;
            const double failureProbabilityStructureWithErosion       = 37.37;
            const double stormDurationMean            = 38.38;
            const double stormDurationVariation       = 39.39;
            const double modelFactorLongThresholdMean = 40.40;
            const double modelFactorLongThresholdStandardDeviation = 41.41;
            const double bankWidthMean = 42.42;
            const double bankWidthStandardDeviation             = 43.43;
            const double evaluationLevel                        = 44.44;
            const double modelFactorLoadEffectMean              = 45.45;
            const double modelFactorLoadEffectStandardDeviation = 46.46;
            const double waveRatioMaxHN = 47.47;
            const double waveRatioMaxHStandardDeviation = 48.48;
            const double verticalDistance = 49.49;
            const double modificationFactorWavesSlowlyVaryingPressureComponent = 50.50;
            const double modificationFactorDynamicOrImpulsivePressureComponent = 51.51;
            const double drainCoefficientMean = 52.52;
            const double drainCoefficientStandardDeviation            = 53.53;
            const double areaFlowAperturesMean                        = 54.54;
            const double areaFlowAperturesStandardDeviation           = 55.55;
            const double constructiveStrengthLinearLoadModelMean      = 56.56;
            const double constructiveStrengthLinearLoadModelVariation = 57.57;
            const double stabilityLinearLoadModelMean                 = 58.58;
            const double stabilityLinearLoadModelVariation            = 59.59;

            // Call
            var input = new StructuresStabilityPointFloodedCulvertLinearCalculationInput(hydraulicBoundaryLocationId, sectionNormal,
                                                                                         forelandPoints, breakWater,
                                                                                         volumicWeightWater,
                                                                                         gravitationalAcceleration,
                                                                                         levelCrestStructureMean, levelCrestStructureStandardDeviation,
                                                                                         structureNormalOrientation,
                                                                                         factorStormDurationOpenStructure,
                                                                                         thresholdHeightOpenWeirMean, thresholdHeightOpenWeirStandardDeviation,
                                                                                         insideWaterLevelFailureConstructionMean, insideWaterLevelFailureConstructionStandardDeviation,
                                                                                         failureProbabilityRepairClosure,
                                                                                         failureCollisionEnergyMean, failureCollisionEnergyVariation,
                                                                                         modelFactorCollisionLoadMean, modelFactorCollisionLoadVariation,
                                                                                         shipMassMean, shipMassVariation,
                                                                                         shipVelocityMean, shipVelocityVariation,
                                                                                         levellingCount,
                                                                                         probabilityCollisionSecondaryStructure,
                                                                                         flowVelocityStructureClosableMean, flowVelocityStructureClosableVariation,
                                                                                         insideWaterLevelMean, insideWaterLevelStandardDeviation,
                                                                                         allowedLevelIncreaseStorageMean, allowedLevelIncreaseStorageStandardDeviation,
                                                                                         modelFactorStorageVolumeMean, modelFactorStorageVolumeStandardDeviation,
                                                                                         storageStructureAreaMean, storageStructureAreaVariation,
                                                                                         modelFactorInflowVolume,
                                                                                         flowWidthAtBottomProtectionMean, flowWidthAtBottomProtectionStandardDeviation,
                                                                                         criticalOvertoppingDischargeMean, criticalOvertoppingDischargeVariation,
                                                                                         failureProbabilityStructureWithErosion,
                                                                                         stormDurationMean, stormDurationVariation,
                                                                                         modelFactorLongThresholdMean, modelFactorLongThresholdStandardDeviation,
                                                                                         bankWidthMean, bankWidthStandardDeviation,
                                                                                         evaluationLevel,
                                                                                         modelFactorLoadEffectMean, modelFactorLoadEffectStandardDeviation,
                                                                                         waveRatioMaxHN, waveRatioMaxHStandardDeviation,
                                                                                         verticalDistance,
                                                                                         modificationFactorWavesSlowlyVaryingPressureComponent,
                                                                                         modificationFactorDynamicOrImpulsivePressureComponent,
                                                                                         drainCoefficientMean, drainCoefficientStandardDeviation,
                                                                                         areaFlowAperturesMean, areaFlowAperturesStandardDeviation,
                                                                                         constructiveStrengthLinearLoadModelMean, constructiveStrengthLinearLoadModelVariation,
                                                                                         stabilityLinearLoadModelMean, stabilityLinearLoadModelVariation);

            // Assert
            Assert.IsInstanceOf <StructuresStabilityPointCalculationInput>(input);
            Assert.AreEqual(hydraulicBoundaryLocationId, input.HydraulicBoundaryLocationId);
            Assert.AreEqual(1, input.CalculationTypeId);
            Assert.AreEqual(58, input.VariableId);
            Assert.AreEqual(HydraRingFailureMechanismType.StructuresStructuralFailure, input.FailureMechanismType);

            HydraRingSection section = input.Section;

            Assert.AreEqual(1, section.SectionId);
            Assert.IsNaN(section.SectionLength);
            Assert.AreEqual(sectionNormal, section.CrossSectionNormal);
            Assert.AreSame(forelandPoints, input.ForelandPoints);
            Assert.AreSame(breakWater, input.BreakWater);
            HydraRingDataEqualityHelper.AreEqual(GetDefaultVariables().ToArray(), input.Variables.ToArray());
        }