Example #1
0
        private decimal GetIncomeTax(decimal taxableIncome)
        {
            var     taxCalculator = _taxFactory.GetCalculator();
            decimal incomeTax     = taxCalculator.CalculateTax(taxableIncome);

            return(incomeTax);
        }
Example #2
0
        private decimal GetSocialContributions(decimal taxableIncomeForSocialContributions)
        {
            var     socialContributionsCalculator = _contributionsFactory.GetCalculator();
            decimal socialContributions           = socialContributionsCalculator.CalculateTax(taxableIncomeForSocialContributions);

            return(socialContributions);
        }
Example #3
0
        public void TestRule3_CASE_CUSTOMER_COME_4_PAY_3()
        {
            // arrange
            int    numberOfCustomer = 4;
            int    pricePerPerson   = 500;
            double price            = numberOfCustomer * pricePerPerson;
            string coupon           = "STAR";

            double expect = 1500;

            CalculatorFactory fac = new CalculatorFactory();
            ICalculator       cal = fac.GetCalculator(numberOfCustomer, price, coupon);

            double actual = cal.Calculate(price);

            Assert.AreEqual(expect, (price - actual));
        }
Example #4
0
        public void TestRule1_CASE_PRICE_OVER_2000()
        {
            // arrange
            int    numberOfCustomer = 4;
            int    pricePerPerson   = 500;
            double price            = numberOfCustomer * pricePerPerson;
            string coupon           = "";

            double expect = 1800;

            CalculatorFactory fac = new CalculatorFactory();
            ICalculator       cal = fac.GetCalculator(numberOfCustomer, price, coupon);

            double actual = cal.Calculate(price);

            Assert.AreEqual(expect, (price - actual));
        }
Example #5
0
 public ICalculator GetCalculator()
 {
     return(CalculatorFactory.GetCalculator(this.Unit));
 }