public void TaxCalculator_GivenWith_ProgressiveTaxCalculatorAnd8349Income_ShouldBe_TaxCalculatedAsProgressive()
        {
            // INCOME HAS TO BE MORE THAN 8350
            const double INCOME = 10000.00;
            const string CODE   = "1000";

            _sut.AnnualIncome = INCOME.ToString();
            _sut.PostalCode   = CODE;
            _sut.Calculate();

            double manualFirstCalculation = 0.00;
            double remainingIncome        = 0.00;

            if (INCOME > 8350)
            {
                manualFirstCalculation = (8350 * 10 / 100);
                remainingIncome        = INCOME - 8350;
            }

            double manualSecondCalculation = remainingIncome * 15 / 100;

            double result = (manualFirstCalculation + manualSecondCalculation);

            result = Math.Round(result, 2);

            Assert.AreEqual(_sut.TaxPayable, result);
        }
        public void TaxCalculator_GivenWith_FlatRateTaxCalculatorAnd199000Income_ShouldBe_17_50Percent()
        {
            const int    INCOME = 199000;
            const string CODE   = "7000";

            _sut.AnnualIncome = INCOME.ToString();
            _sut.PostalCode   = CODE;

            _sut.Calculate();

            Assert.AreEqual(_sut.TaxPayable, (INCOME * 17.5 / 100));
        }
        public void TaxCalculator_GivenWith_FlatValueTaxCalculatorAnd300000Income_ShouldBe_10000()
        {
            const int    INCOME = 300000;
            const string CODE   = "A100";

            _sut.AnnualIncome = INCOME.ToString();
            _sut.PostalCode   = CODE;

            _sut.Calculate();

            Assert.AreEqual(_sut.TaxPayable, 10000);
        }
        public void TaxCalculator_GivenWith_ProgressiveTaxCalculatorAnd8349Income_ShouldBe_10Percent()
        {
            const double INCOME = 8349.00;
            const string CODE   = "7441";

            _sut.AnnualIncome = INCOME.ToString();
            _sut.PostalCode   = CODE;
            _sut.Calculate();

            double manualCalculation = (INCOME * 10 / 100);

            manualCalculation = Math.Round(manualCalculation, 2);

            Assert.AreEqual(_sut.TaxPayable, manualCalculation);
        }