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 ShouldApplyTaxShouldReturnFaseIfLowerThanTaxLimit() { var taxCalculatorService = new TaxesCalculatorService(); var salaryToTest = SalaryConstants.NO_TAX_LIMIT - 1; var result = taxCalculatorService.ShouldApplyTax(salaryToTest); result .Should() .BeFalse(); }
public void SocialTaxShouldReturnCorrectIfEqualToSocialLimit() { var taxCalculatorService = new TaxesCalculatorService(); var salaryToTest = 3000m; var socialTax = 300m; var result = taxCalculatorService.SocialTax(salaryToTest); result .Should() .Be(socialTax); }
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); }
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); }
public void SetUp() { service = new TaxesCalculatorService(); }