Esempio n. 1
0
        /// <summary>
        /// Returns a collection of modified <see cref="StabilityPointStructure"/> entities, which all differ
        /// except for their id.
        /// </summary>
        /// <param name="targetName">The name of the target to test while using the test case source.</param>
        /// <param name="testResultDescription">A description of the result of the test while using the test case source.</param>
        /// <returns>The collection of test case data.</returns>
        /// <example>
        /// <code>
        /// [TestCaseSource(typeof(StabilityPointStructurePermutationHelper),
        ///     nameof(StabilityPointStructurePermutationHelper.DifferentStabilityPointStructuresWithSameId),
        ///     new object[]
        ///     {
        ///         "TargetMethodName",
        ///         "TestResult"
        ///     })]
        /// </code>
        /// </example>
        public static IEnumerable <TestCaseData> DifferentStabilityPointStructuresWithSameId(string targetName, string testResultDescription)
        {
            string referenceStructureId = new TestStabilityPointStructure().Id;

            var testCaseData = new List <TestCaseData>
            {
                new TestCaseData(new TestStabilityPointStructure(referenceStructureId, "Different name"))
                .SetName($"{targetName}_DifferentName_{testResultDescription}"),
                new TestCaseData(new TestStabilityPointStructure(new Point2D(1, 1), referenceStructureId))
                .SetName($"{targetName}_DifferentLocation_{testResultDescription}")
            };

            testCaseData.AddRange(DifferentStabilityPointStructuresWithSameIdNameAndLocation(targetName, testResultDescription));

            return(testCaseData);
        }
Esempio n. 2
0
        private static StabilityPointStructure.ConstructionProperties CreateTestStabilityPointStructureConstructionProperties()
        {
            var referenceStructure = new TestStabilityPointStructure();

            return(new StabilityPointStructure.ConstructionProperties
            {
                Name = referenceStructure.Name,
                Id = referenceStructure.Id,
                Location = referenceStructure.Location,
                StorageStructureArea =
                {
                    Mean                   = referenceStructure.StorageStructureArea.Mean,
                    CoefficientOfVariation = referenceStructure.StorageStructureArea.CoefficientOfVariation
                },
                AllowedLevelIncreaseStorage =
                {
                    Mean              = referenceStructure.AllowedLevelIncreaseStorage.Mean,
                    StandardDeviation = referenceStructure.AllowedLevelIncreaseStorage.StandardDeviation
                },
                WidthFlowApertures =
                {
                    Mean              = referenceStructure.WidthFlowApertures.Mean,
                    StandardDeviation = referenceStructure.WidthFlowApertures.StandardDeviation
                },
                InsideWaterLevel =
                {
                    Mean              = referenceStructure.InsideWaterLevel.Mean,
                    StandardDeviation = referenceStructure.InsideWaterLevel.StandardDeviation
                },
                ThresholdHeightOpenWeir =
                {
                    Mean              = referenceStructure.ThresholdHeightOpenWeir.Mean,
                    StandardDeviation = referenceStructure.ThresholdHeightOpenWeir.StandardDeviation
                },
                CriticalOvertoppingDischarge =
                {
                    Mean                   = referenceStructure.CriticalOvertoppingDischarge.Mean,
                    CoefficientOfVariation = referenceStructure.CriticalOvertoppingDischarge.CoefficientOfVariation
                },
                FlowWidthAtBottomProtection =
                {
                    Mean              = referenceStructure.FlowWidthAtBottomProtection.Mean,
                    StandardDeviation = referenceStructure.FlowWidthAtBottomProtection.StandardDeviation
                },
                ConstructiveStrengthLinearLoadModel =
                {
                    Mean                   = referenceStructure.ConstructiveStrengthLinearLoadModel.Mean,
                    CoefficientOfVariation = referenceStructure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation
                },
                ConstructiveStrengthQuadraticLoadModel =
                {
                    Mean                   = referenceStructure.ConstructiveStrengthQuadraticLoadModel.Mean,
                    CoefficientOfVariation = referenceStructure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation
                },
                BankWidth =
                {
                    Mean              = referenceStructure.BankWidth.Mean,
                    StandardDeviation = referenceStructure.BankWidth.StandardDeviation
                },
                InsideWaterLevelFailureConstruction =
                {
                    Mean              = referenceStructure.InsideWaterLevelFailureConstruction.Mean,
                    StandardDeviation = referenceStructure.InsideWaterLevelFailureConstruction.StandardDeviation
                },
                EvaluationLevel = referenceStructure.EvaluationLevel,
                LevelCrestStructure =
                {
                    Mean              = referenceStructure.LevelCrestStructure.Mean,
                    StandardDeviation = referenceStructure.LevelCrestStructure.StandardDeviation
                },
                VerticalDistance = referenceStructure.VerticalDistance,
                FailureProbabilityRepairClosure = referenceStructure.FailureProbabilityRepairClosure,
                FailureCollisionEnergy =
                {
                    Mean                   = referenceStructure.FailureCollisionEnergy.Mean,
                    CoefficientOfVariation = referenceStructure.FailureCollisionEnergy.CoefficientOfVariation
                },
                ShipMass =
                {
                    Mean                   = referenceStructure.ShipMass.Mean,
                    CoefficientOfVariation = referenceStructure.ShipMass.CoefficientOfVariation
                },
                ShipVelocity =
                {
                    Mean                   = referenceStructure.ShipVelocity.Mean,
                    CoefficientOfVariation = referenceStructure.ShipVelocity.CoefficientOfVariation
                },
                LevellingCount = referenceStructure.LevellingCount,
                ProbabilityCollisionSecondaryStructure = referenceStructure.ProbabilityCollisionSecondaryStructure,
                FlowVelocityStructureClosable =
                {
                    Mean                   = referenceStructure.FlowVelocityStructureClosable.Mean,
                    CoefficientOfVariation = referenceStructure.FlowVelocityStructureClosable.CoefficientOfVariation
                },
                StabilityLinearLoadModel =
                {
                    Mean                   = referenceStructure.StabilityLinearLoadModel.Mean,
                    CoefficientOfVariation = referenceStructure.StabilityLinearLoadModel.CoefficientOfVariation
                },
                StabilityQuadraticLoadModel =
                {
                    Mean                   = referenceStructure.StabilityQuadraticLoadModel.Mean,
                    CoefficientOfVariation = referenceStructure.StabilityQuadraticLoadModel.CoefficientOfVariation
                },
                AreaFlowApertures =
                {
                    Mean              = referenceStructure.AreaFlowApertures.Mean,
                    StandardDeviation = referenceStructure.AreaFlowApertures.StandardDeviation
                },
                InflowModelType = referenceStructure.InflowModelType
            });
        }