示例#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 Can_calculate_taxes()
        {
            var diputado = new Diputado("Aznar", "España", "Podemos");

            //Live in Belgium = 5K
            //TeamBoss = 12K

            diputado.AddExpense(Expense.LiveInBelgium);
            diputado.AddExpense(Expense.TeamBoss);

            var taxInLux   = service.CalculateTaxesInCountryByDiputado(diputado, FiscalParadiseBase.Lux);
            var taxInBaham = service.CalculateTaxesInCountryByDiputado(diputado, FiscalParadiseBase.Baham);

            Assert.AreEqual(taxInLux, 0.34m);
            Assert.AreEqual(taxInBaham, 0m);
        }