Ejemplo n.º 1
0
        public void Then10HoursAt1Rate_Returns10()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(10, 1);

            Assert.AreEqual(10, actualWages);
        }
        public void Then1HourAtNegative1Rate_ReturnsErrorNegativeRate()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(1, -1);

            Assert.AreEqual(HourlyWageCalculator.ERROR_NEGATIVE_RATE_INPUT, actualWages);
        }
        public void ThenNegative1HoursAt10Rate_ReturnsErrorNegativeHours()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(-1, 10);

            Assert.AreEqual(HourlyWageCalculator.ERROR_NEGATIVE_HOURS_INPUT, actualWages);
        }
Ejemplo n.º 4
0
        public void ThenFortyHoursAtTenRate_Returns400()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal wages = calculator.ComputeWages(40, 10);

            Assert.AreEqual(400, wages);
        }
        public void Then41HoursAt10Rate_Returns415()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(41, 10);

            Assert.AreEqual(415, actualWages);
        }
Ejemplo n.º 6
0
        public void ThenOneHourAtTenRate_ReturnsTen()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal wages = calculator.ComputeWages(1, 10);

            Assert.AreEqual(10, wages);
        }
Ejemplo n.º 7
0
        public void Then10HoursAtMaxRate_ReturnsProperValue()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(10, HourlyWageCalculator.MAX_HOURLY_RATE);
            decimal expectedWages           = HourlyWageCalculator.MAX_HOURLY_RATE * 10;

            Assert.AreEqual(expectedWages, actualWages);
        }
        public void RunTestCases(WageUnit wageUnit, decimal minWage, double hoursPerWeek, decimal expectedResult)
        {
            var minimumWageCalculator = new HourlyWageCalculator();

            var result = minimumWageCalculator.Calculate(minWage, wageUnit, (decimal)hoursPerWeek);

            result.Should().BeApproximately(expectedResult, 0.01m);
        }
        public void AndNoHoursPerWeek_ThenThrowsException()
        {
            var    missingMinWageErrorMessage = "HoursPerWeek must be greater than 0.";
            var    minimumWageCalculator      = new HourlyWageCalculator();
            Action action = () => minimumWageCalculator.Calculate(34m, WageUnit.Weekly, 0m);

            action.ShouldThrow <ArgumentOutOfRangeException>()
            .WithMessage($"{missingMinWageErrorMessage}\r\nParameter name: HoursPerWeek\r\nActual value was 0.");
        }
        public void AndNotExpectedWageUnit_ThenThrowsException()
        {
            var expectedMessage       = "WageUnit must be either 'Weekly', 'Monthly' or 'Annually'.";
            var minimumWageCalculator = new HourlyWageCalculator();

            Action action = () => minimumWageCalculator.Calculate(300m, 0, 234m);

            action.ShouldThrow <ArgumentOutOfRangeException>()
            .WithMessage($"{expectedMessage}\r\nParameter name: WageUnit\r\nActual value was 0.");
        }
Ejemplo n.º 11
0
        public void CheckAllStraightTimeBoundaryValues(int hoursWorked,
                                                       int hourlyRate,
                                                       decimal expectWages)
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();
            decimal actualWages             = calculator.ComputeWages(hoursWorked, hourlyRate);

            Assert.AreEqual(expectWages, actualWages, "TestCase Data: Hours Worked:" + hoursWorked +
                            " Hourly Rate: " + hourlyRate +
                            " Expected: " + expectWages);
        }
Ejemplo n.º 12
0
        public void Then81HoursAt10Rate_RaisesException_OLDSCHOOL()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();

            try
            {
                calculator.ComputeWages(81, 10);
            }
            catch (System.ArgumentException)
            {
                Assert.Pass();
            }
            Assert.Fail("System.ArgumentException not caught.");
        }
Ejemplo n.º 13
0
 public void RunOnceBeforeEachTest()
 {
     calculatorClassVariable = new HourlyWageCalculator();
 }
Ejemplo n.º 14
0
        public void Then10HoursAt501Rate_RaisesException()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();

            Assert.Throws <System.ArgumentException>(() => calculator.ComputeWages(10, 501));
        }
Ejemplo n.º 15
0
        public void Then81HoursAt10Rate_RaisesException()
        {
            HourlyWageCalculator calculator = new HourlyWageCalculator();

            Assert.Throws <System.ArgumentException>(() => calculator.ComputeWages(81, 10));
        }