public void Read_ValidParameters_ReturnsOvertoppingRateOutput()
        {
            // Setup
            var    random                = new Random(22);
            double overtoppingRate       = random.NextDouble();
            double targetProbability     = random.NextDouble();
            double targetReliability     = random.NextDouble();
            double calculatedProbability = random.NextDouble();
            double calculatedReliability = random.NextDouble();
            var    convergence           = random.NextEnumValue <CalculationConvergence>();
            var    entity                = new GrassCoverErosionInwardsOvertoppingRateOutputEntity
            {
                OvertoppingRate        = overtoppingRate,
                TargetProbability      = targetProbability,
                TargetReliability      = targetReliability,
                CalculatedProbability  = calculatedProbability,
                CalculatedReliability  = calculatedReliability,
                CalculationConvergence = Convert.ToByte(convergence)
            };

            // Call
            OvertoppingRateOutput output = entity.Read();

            // Assert
            Assert.AreEqual(overtoppingRate, output.OvertoppingRate, output.OvertoppingRate.GetAccuracy());
            Assert.AreEqual(targetProbability, output.TargetProbability);
            Assert.AreEqual(targetReliability, output.TargetReliability, output.TargetReliability.GetAccuracy());
            Assert.AreEqual(calculatedProbability, output.CalculatedProbability);
            Assert.AreEqual(calculatedReliability, output.CalculatedReliability, output.CalculatedReliability.GetAccuracy());
            Assert.AreEqual(convergence, output.CalculationConvergence);

            Assert.IsNull(output.GeneralResult);
        }
        public void Read_NullParameters_ReturnsOvertoppingRateOutputWithNaN()
        {
            // Setup
            var random      = new Random(22);
            var convergence = random.NextEnumValue <CalculationConvergence>();
            var entity      = new GrassCoverErosionInwardsOvertoppingRateOutputEntity
            {
                CalculationConvergence = Convert.ToByte(convergence)
            };

            // Call
            OvertoppingRateOutput output = entity.Read();

            // Assert
            Assert.IsNaN(output.OvertoppingRate);
            Assert.IsNaN(output.TargetProbability);
            Assert.IsNaN(output.TargetReliability);
            Assert.IsNaN(output.CalculatedProbability);
            Assert.IsNaN(output.CalculatedReliability);
            Assert.AreEqual(convergence, output.CalculationConvergence);

            Assert.IsNull(output.GeneralResult);
        }
        public void Read_ValidEntityWithGeneralResultEntity_ReturnsOvertoppingRateOutputWithGeneralResult()
        {
            // Setup
            var random = new Random(22);
            var generalResultEntity = new GeneralResultFaultTreeIllustrationPointEntity
            {
                GoverningWindDirectionName  = "SSE",
                GoverningWindDirectionAngle = random.NextDouble()
            };

            var convergence = random.NextEnumValue <CalculationConvergence>();
            var entity      = new GrassCoverErosionInwardsOvertoppingRateOutputEntity
            {
                CalculationConvergence = Convert.ToByte(convergence),
                GeneralResultFaultTreeIllustrationPointEntity = generalResultEntity
            };

            // Call
            OvertoppingRateOutput output = entity.Read();

            // Assert
            GeneralResultEntityTestHelper.AssertGeneralResultPropertyValues(output.GeneralResult,
                                                                            generalResultEntity);
        }
Пример #4
0
        private static OvertoppingRateOutput GetOvertoppingRateOutput(GrassCoverErosionInwardsOutputEntity entity)
        {
            GrassCoverErosionInwardsOvertoppingRateOutputEntity overtoppingRateOutputEntity = entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.SingleOrDefault();

            return(overtoppingRateOutputEntity?.Read());
        }