Пример #1
0
        public void SpainCalculateSalary_MustReturn_ValidModel(double HoursWorked, double HourlyRate, double netSalary)
        {
            var service = new SpainPayrollCalculator();

            var salary = service.CalculateSalary(HoursWorked, HourlyRate);

            Assert.AreEqual(netSalary, salary.NetSalary);
        }
Пример #2
0
        public void SpainCalculatePensionContribution4Percent_GivenSalary_Returns_IncomeTaxContributionValue()
        {
            // Arrange
            var spainSaleryCalculator = new SpainPayrollCalculator();

            //Act
            var actual = spainSaleryCalculator.CalculatePensionContribution(400);

            // Assert
            var expected = 16;

            actual.Should().Be(expected);
        }
Пример #3
0
        public void SpainCalculateTotalTaxDeductions_GivenSalary_Returns_TotalTaxDeductionsValue()
        {
            // Arrange
            var calculator = new SpainPayrollCalculator();

            //Act
            var actual = calculator.CalculateTotalTaxDeductions(750);

            // Assert
            var expected = 390; // TODO:

            actual.Should().Be(expected);
        }
Пример #4
0
        public void SpainCalculateIncomeTax40Percent_GivenSalary_Returns_CalculateIncomeTaxValue()
        {
            // Arrange
            var spainSaleryCalculator = new SpainPayrollCalculator();

            //Act
            var actual = spainSaleryCalculator.CalculateIncomeTax(750);

            // Assert
            var expected = 300;

            actual.Should().Be(expected);
        }
Пример #5
0
        public void SpainCalculateIncomeTax_GivenSalaryLessThanZero_Returns_InvalidInputException()
        {
            // Arrange
            var SpainSaleryCalculator = new SpainPayrollCalculator();

            //Act
            Action calculatePensionContribution = () => SpainSaleryCalculator.CalculatePensionContribution(-100);

            Action calculateIncomeTax          = () => SpainSaleryCalculator.CalculateIncomeTax(-300);
            Action calculateTotalTaxDeductions = () => SpainSaleryCalculator.CalculateTotalTaxDeductions(-200);

            // Assert
            string expectedMessage = "Given salary should be greater than zero, received value:";

            calculatePensionContribution.Should().Throw <InvalidInputException>().Where(e => e.Message.StartsWith(expectedMessage));

            calculateIncomeTax.Should().Throw <InvalidInputException>().Where(e => e.Message.StartsWith(expectedMessage));
            calculateTotalTaxDeductions.Should().Throw <InvalidInputException>().Where(e => e.Message.StartsWith(expectedMessage));
        }