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(); }
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); }