private decimal GetIncomeTax(decimal taxableIncome) { var taxCalculator = _taxFactory.GetCalculator(); decimal incomeTax = taxCalculator.CalculateTax(taxableIncome); return(incomeTax); }
private decimal GetSocialContributions(decimal taxableIncomeForSocialContributions) { var socialContributionsCalculator = _contributionsFactory.GetCalculator(); decimal socialContributions = socialContributionsCalculator.CalculateTax(taxableIncomeForSocialContributions); return(socialContributions); }
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)); }
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)); }
public ICalculator GetCalculator() { return(CalculatorFactory.GetCalculator(this.Unit)); }