Ejemplo n.º 1
0
        public void EmployeeSalaryCannotBeMoreThanWageBudget(BonusPoolTestData testData)
        {
            var calculator = new BonusPoolCalculator(testData.WageBudget, testData.BonusPoolValue);

            Action calculate = () => calculator.CalculateBonusAllocation(testData.EmployeeSalary);

            Assert.ThrowsException <ArgumentOutOfRangeException>(calculate, "Employee salary cannot be greater than the wage budget");
        }
Ejemplo n.º 2
0
        public void BonusIsGivenToTwoDecimalPlaces(BonusPoolTestData testData)
        {
            var calculator = new BonusPoolCalculator(testData.WageBudget, testData.BonusPoolValue);

            decimal bonus        = calculator.CalculateBonusAllocation(testData.EmployeeSalary);
            decimal bonusRounded = Decimal.Round(bonus, 2);

            Assert.AreEqual(bonusRounded, bonus);
        }
Ejemplo n.º 3
0
        public void BonusPercentageOfPoolEqualsSalaryPercentageOfWageBudget(BonusPoolTestData testData)
        {
            var     calculator     = new BonusPoolCalculator(testData.WageBudget, testData.BonusPoolValue);
            decimal basePercentage = testData.WageBudget != 0 ? testData.EmployeeSalary / testData.WageBudget : 0;
            decimal expectedBonus  = Math.Floor(basePercentage * testData.BonusPoolValue * 100) / 100;

            decimal bonus = calculator.CalculateBonusAllocation(testData.EmployeeSalary);

            Assert.AreEqual(expectedBonus, bonus);
        }