public void ItalyCalculateSalary_MustReturn_ValidModel(double HoursWorked, double HourlyRate, double netSalary) { var service = new ItalyPayrollCalculator(); var salary = service.CalculateSalary(HoursWorked, HourlyRate); Assert.AreEqual(netSalary, salary.NetSalary); }
public void ItalyCalculateTotalTaxDeductions_GivenSalary_Returns_TotalTaxDeductionsValue() { // Arrange var calculator = new ItalyPayrollCalculator(); //Act var actual = calculator.CalculateTotalTaxDeductions(600); // Assert var expected = 265.14; // TODO: actual.Should().Be(expected); }
public void ItalyCalculateIncomeTax25Percent_GivenSalary_Returns_CalculateIncomeTaxValue() { // Arrange var ItalySaleryCalculator = new ItalyPayrollCalculator(); //Act var actual = ItalySaleryCalculator.CalculateIncomeTax(500); // Assert var expected = 125; actual.Should().Be(expected); }
public void ItalyCalculateIncomeTax_GivenSalaryLessThanZero_Returns_InvalidInputException() { // Arrange var italySaleryCalculator = new ItalyPayrollCalculator(); //Act Action calculateIncomeTax = () => italySaleryCalculator.CalculateIncomeTax(-200); Action calculateTotalTaxDeductions = () => italySaleryCalculator.CalculateTotalTaxDeductions(-200); // Assert string expectedMessage = "Given salary should be greater than zero, received value:"; calculateIncomeTax.Should().Throw <InvalidInputException>().Where(e => e.Message.StartsWith(expectedMessage)); calculateTotalTaxDeductions.Should().Throw <InvalidInputException>().Where(e => e.Message.StartsWith(expectedMessage)); }
public void As_a_payroll_user_I_should_see_an_income__tax_to_an_Italian_employee() { //Gross 4000 //1000 25% of 4000 // Gross - Tax = 3000 var employee = new Employee() { HourRate = 40, TotalWorkedHours = 100, Location = Location.Italy }; IPayroll italyPayrollCalculator = new ItalyPayrollCalculator(); italyPayrollCalculator.Calculate(employee); var expected = 1000; Assert.Contains(expected.ToString(), italyPayrollCalculator.ShowPayrollSummary()); }