예제 #1
0
 public double CalculateAlcohol(ICalculateAlcohol alcoholDetails)
 {
     if (alcoholDetails.EndingGravity == 0)
     {
         throw new ArgumentOutOfRangeException("EndingGravity", 0, "0 is not a valid value for EndingGravity");
     }
     return((((((double)1.05 * (alcoholDetails.StartingGravity - alcoholDetails.EndingGravity)) / alcoholDetails.EndingGravity) / (double)0.79) * 100) * (double)0.79336);
 }
 public void ABWCalculation_Passes()
 {
     {
         ICalculateAlcoholFactory calculatorFactory = new CalculateAlcoholFactory();
         ICalculateAlcohol        calculator        = calculatorFactory.GetCalculator(new AlcoholByWeightStrategy());
         calculator.StartingGravity = 1.05;
         calculator.EndingGravity   = 1.01;
         var abwAlcohol = calculator.Calculate();
         Assert.AreEqual(4.1761022684546969, abwAlcohol);
     }
 }
        public void ABVCalculation_Passes()
        {
            ICalculateAlcoholFactory calculatorFactory = new CalculateAlcoholFactory();
            ICalculateAlcohol        calculator        = calculatorFactory.GetCalculator(new AlcoholByVolumeStrategy());

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

            Assert.AreEqual(5.26381752099261, abvAlcohol);
        }
 public void AlcoholCalculationTestMethod_Fails_BadArgument()
 {
     try
     {
         ICalculateAlcoholFactory calculatorFactory = new CalculateAlcoholFactory();
         ICalculateAlcohol        calculator        = calculatorFactory.GetCalculator(null);
         calculator.StartingGravity = 1.05;
         calculator.EndingGravity   = 1.01;
         var alcoholCalculator = calculator.Calculate();
     }
     catch (Exception ex)
     {
         Assert.IsInstanceOfType(ex, typeof(ArgumentOutOfRangeException));
     }
 }