Пример #1
0
        static void Main(string[] args)
        {
            Diputado diputado = new Diputado("Sesareo", "Cañamares", "MindCampTeam");
            var      service  = new TaxesCalculatorService();

            diputado.AddExpense(Expense.President);
            diputado.AddExpense(Expense.Tips);

            Console.WriteLine("Estos son los datos del diputado: ");
            Console.WriteLine("Nombre: {0}", diputado.Name);
            Console.WriteLine("País: {0}", diputado.Country);
            Console.WriteLine("Partido: {0}", diputado.Team);
            Console.WriteLine("******************************************");
            Console.WriteLine("Dietas: \n");
            foreach (var expense in diputado.Expenses)
            {
                Console.WriteLine(expense + ", Quantity: " + (int)expense);
            }
            Console.WriteLine("_______________________________");

            Console.WriteLine("Total de dietas: {0} \n\r", diputado.Expenses.Sum(x => (int)x));
            diputado.AddExpenseToFiscalParadise(Expense.President, FiscalParadiseBase.Lux);
            diputado.AddExpenseToFiscalParadise(Expense.Tips, FiscalParadiseBase.Lux);

            foreach (var country in diputado.GetFiscalParadises())
            {
                var discount = service.CalculateTaxesInCountryByDiputado(diputado, country);
                Console.WriteLine("País: {0} Total Impuestos: {1}k", country.Name, discount);
            }


            Console.ReadLine();
        }
Пример #2
0
        public void ShouldApplyTaxShouldReturnFaseIfLowerThanTaxLimit()
        {
            var taxCalculatorService = new TaxesCalculatorService();
            var salaryToTest         = SalaryConstants.NO_TAX_LIMIT - 1;

            var result = taxCalculatorService.ShouldApplyTax(salaryToTest);

            result
            .Should()
            .BeFalse();
        }
Пример #3
0
        public void SocialTaxShouldReturnCorrectIfEqualToSocialLimit()
        {
            var taxCalculatorService = new TaxesCalculatorService();
            var salaryToTest         = 3000m;
            var socialTax            = 300m;

            var result = taxCalculatorService.SocialTax(salaryToTest);

            result
            .Should()
            .Be(socialTax);
        }
Пример #4
0
        public void SocialTaxShouldReturnCorrectIfBelowSocialLimit()
        {
            var taxCalculatorService = new TaxesCalculatorService();
            var salaryToTest         = 1100m;
            var socialTax            = (salaryToTest - SalaryConstants.NO_TAX_LIMIT) * SalaryConstants.Social_TAX;

            var result = taxCalculatorService.SocialTax(salaryToTest);

            result
            .Should()
            .Be(socialTax);
        }
Пример #5
0
        public void IncomeTaxShouldReturnCorrectValue()
        {
            var taxCalculatorService = new TaxesCalculatorService();
            var salaryToTest         = 1100m;
            var incomeTax            = (salaryToTest - SalaryConstants.NO_TAX_LIMIT) * SalaryConstants.INCOME_TAX;

            var result = taxCalculatorService.IncomeTax(salaryToTest);

            result
            .Should()
            .Be(incomeTax);
        }
Пример #6
0
 public void SetUp()
 {
     service = new TaxesCalculatorService();
 }