public void Calculate() { var taxReliefCalculator = new TaxReliefCalculator(_person.Age); var ageBasedRelief = taxReliefCalculator.Calculate(); var annualTaxCalculator = new BLL.AnnualTaxCalculator(ageBasedRelief, _person.MonthlySalary); AnnualTax = annualTaxCalculator.Calculate(); }
public void Construct_GivenInvalidAge_LessThan_ShouldThrowException() { //---Setup---------------------------------------------- int invalidAge = 17; //---Execute-------------------------------------------- var calculator = new TaxReliefCalculator(invalidAge); //---Assert--------------------------------------------- Assert.Fail("Expected exception not thrown!"); }
public void Calculate_GivenAge_30_ShouldReturnPercentageOfRelief_0_85() { //---Setup---------------------------------------------- int age = 55; var calculator = new TaxReliefCalculator(age); //---Execute-------------------------------------------- var relief = calculator.Calculate(); //---Assert--------------------------------------------- Assert.AreEqual(0.85m, relief.PercentageOfDeduction); }
public void Calculate_GivenAge_55_ShouldReturnMonthlySalaryRelief_5000() { //---Setup---------------------------------------------- int age = 55; var calculator = new TaxReliefCalculator(age); //---Execute-------------------------------------------- var relief = calculator.Calculate(); //---Assert--------------------------------------------- Assert.AreEqual(5000, relief.MonthlySalaryRelief); }
public void Calculate_GivenAge55AndAnnualSalary48000_ShouldReturnAnnualTax() { //---Setup---------------------------------------------- decimal annualSalary = 48000m; decimal monthlySalary = annualSalary / 12; int age = 55; var taxReliefCalculator = new TaxReliefCalculator(age); var ageBasedRelief = taxReliefCalculator.Calculate(); var annualTaxCalculator = new BLL.AnnualTaxCalculator(ageBasedRelief, monthlySalary); //---Execute-------------------------------------------- decimal annualTax = annualTaxCalculator.Calculate(); //---Assert--------------------------------------------- Assert.AreEqual(0, annualTax); }