Ejemplo n.º 1
0
        public void Calculate()
        {
            var taxReliefCalculator = new TaxReliefCalculator(_person.Age);
            var ageBasedRelief      = taxReliefCalculator.Calculate();
            var annualTaxCalculator = new BLL.AnnualTaxCalculator(ageBasedRelief, _person.MonthlySalary);

            AnnualTax = annualTaxCalculator.Calculate();
        }
Ejemplo n.º 2
0
        public void Construct_GivenInvalidAge_LessThan_ShouldThrowException()
        {
            //---Setup----------------------------------------------
            int invalidAge = 17;
            //---Execute--------------------------------------------
            var calculator = new TaxReliefCalculator(invalidAge);

            //---Assert---------------------------------------------
            Assert.Fail("Expected exception not thrown!");
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }