예제 #1
0
        public void GermanyCalculateTotalTaxDeductions_GivenSalary_Returns_TotalTaxDeductionsValue()
        {
            // Arrange
            var calculator = new GermanPayrollCalculator();

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

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

            actual.Should().Be(expected);
        }
예제 #2
0
        public void ItalyCalculateNetSalary_GivenSalary_Returns_CalculateNetSalaryValue()
        {
            // Arrange
            var calculator = new GermanPayrollCalculator();

            //Act
            var actual = calculator.CalculateNetSalary(500, 60);

            // Assert
            var expected = 440;

            actual.Should().Be(expected);
        }
예제 #3
0
        public void GermanyCalculateIncomeTax32Percent_GivenSalary_Returns_IncomeTaxContributionValue()
        {
            // Arrange
            var calculator = new GermanPayrollCalculator();

            //Act
            var actual = calculator.CalculateIncomeTax(600);

            // Assert
            var expected = 192;

            actual.Should().Be(expected);
        }
예제 #4
0
        public void ItalyCalculateGrossAmount_GivenSalary_Returns_CalculateGrossAmountValue()
        {
            // Arrange
            var calculator = new GermanPayrollCalculator();

            //Act
            var actual = calculator.CalculateGrossAmount(10, 40);

            // Assert
            var expected = 400;

            actual.Should().Be(expected);
        }
예제 #5
0
        public void GermanyCalculateIncomeTax_GivenSalaryLessThanZero_Returns_InvalidInputException()
        {
            // Arrange
            var germanSaleryCalculator = new GermanPayrollCalculator();

            //Act
            Action calculateIncomeTax = () => germanSaleryCalculator.CalculateIncomeTax(-100);

            Action calculateTotalTaxDeductions = () => germanSaleryCalculator.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));
        }