예제 #1
0
        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);
        }
예제 #2
0
        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));
        }