public double CalculateAttenuation(ICalculateAttenuation attenuationDetails)
 {
     if (attenuationDetails.StartingGravity == 1)
     {
         throw new ArgumentOutOfRangeException("StartingGravity", 1, "1 is not a valid value for StartingGravity");
     }
     return((double)0.1808 * attenuationDetails.StartingGravity + (double)0.8192 * (100 * ((attenuationDetails.StartingGravity - attenuationDetails.EndingGravity) / (attenuationDetails.StartingGravity - 1))));
 }
Ejemplo n.º 2
0
        public void ApparentAttenuationTestMethod_Passes()
        {
            ICalculateAttenuationFactory calculatorFactory = new CalculateAttenuationFactory();
            ICalculateAttenuation        calculator        = calculatorFactory.GetCalculator(new ApparentAttenuationStrategy());

            calculator.StartingGravity = 1.05;
            calculator.EndingGravity   = 1.01;
            var apparentAttenuation = calculator.Calculate();

            Assert.AreEqual(80, apparentAttenuation);
        }
Ejemplo n.º 3
0
        public void RealAttenuationTestMethod_Passes()
        {
            ICalculateAttenuationFactory calculatorFactory = new CalculateAttenuationFactory();
            ICalculateAttenuation        calculator        = calculatorFactory.GetCalculator(new RealAttenuationStrategy());

            calculator.StartingGravity = 1.05;
            calculator.EndingGravity   = 1.01;
            var realAttenuation = calculator.Calculate();

            Assert.AreEqual(65.72584, realAttenuation);
        }