Ejemplo n.º 1
0
 static void Main(string[] args)
 {
     try
     {
         Console.WriteLine("Type GenerateMonthlyPayslip \"YOUR NAME\" ANNUAL_SALARY to start..");
         string   line  = Console.ReadLine();
         string[] words = line.Split(' ');
         if (words[0] == "GenerateMonthlyPayslip")
         {
             var            employee             = new Employee(words[1], Convert.ToDecimal(words[2]));
             var            taxTable             = new TaxTable();
             var            computeIncomeCommand = new ComputeIncomeTaxCommand(taxTable, employee.AnnualSalary);
             MonthlyPaySlip monthlyPaySlip       = new MonthlyPaySlip(employee, computeIncomeCommand);
             Console.WriteLine(string.Format("Monthly Payslip for: \"{0:#.00}\"", monthlyPaySlip.EmployeeName));
             Console.WriteLine(string.Format("Gross Monthly Income: ${0:#.00}", monthlyPaySlip.GrossMonthlyIncome));
             Console.WriteLine(string.Format("Monthly Income Tax: ${0:#.00}", monthlyPaySlip.MonthlyIncomeTax));
             Console.WriteLine(string.Format("Net Monthly Income: ${0:#.00}", monthlyPaySlip.NetMonthlyIncome));
             Console.ReadLine();
         }
         else
         {
             Console.WriteLine("Unrecognized command");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        public void ComputeIncomeTaxCommand_ReturnsExpectedValue(decimal annual_salary, decimal expected_income_tax)
        {
            var taxTable = new TaxTable();
            var computeIncomeTaxCommand = new ComputeIncomeTaxCommand(taxTable, annual_salary);
            var actual = computeIncomeTaxCommand.Call();

            Assert.Equal(expected_income_tax, actual);
        }