public void CalculateBonusBasedOnDepartmentAllocation_WithTotalDepartmentSalaryAsZero_ThrowsException()
        {
            BonusCalculatorService calculator = new BonusCalculatorService(_fakeEmployeeRepository, _fakeDepartmentRepository);

            var result = Assert.ThrowsException <TotalDepartmentSalaryInvalidException>(() => calculator.CalculateBonusBasedOnDepartmentAllocation(100, 1000, 0, 10));

            Assert.AreEqual(result.Message, "Total salary for personnel in department is invalid.");
        }
        public void CalculateBonusBasedOnDepartmentAllocation_WithBonusAllocationAsZero_ThrowsException()
        {
            BonusCalculatorService calculator = new BonusCalculatorService(_fakeEmployeeRepository, _fakeDepartmentRepository);

            var result = Assert.ThrowsException <BonusAllocationNotSpecifiedForDepartmentException>(() => calculator.CalculateBonusBasedOnDepartmentAllocation(100, 1000, 10000, 0));

            Assert.AreEqual(result.Message, "Bonus allocation percentage not specified for department.");
        }
        public void CalculateBonusBasedOnDepartmentAllocation_WithSalaryValueAsZero_ThrowsException()
        {
            BonusCalculatorService calculator = new BonusCalculatorService(_fakeEmployeeRepository, _fakeDepartmentRepository);

            var result = Assert.ThrowsException <SalaryInvalidException>(() => calculator.CalculateBonusBasedOnDepartmentAllocation(0, 1000, 10000, 10));

            Assert.AreEqual(result.Message, "Employee has an invalid salary.");
        }
        public void CalculateBonusBasedOnDepartmentAllocation_WithAllValuesSupplied_ReturnsBonusAmount()
        {
            BonusCalculatorService calculator = new BonusCalculatorService(_fakeEmployeeRepository, _fakeDepartmentRepository);

            var result = calculator.CalculateBonusBasedOnDepartmentAllocation(100, 1000, 10000, 10);

            Assert.AreEqual(result, 1);
        }
        public void CalculateBonus_WithBudgetValueAsZero_ThrowsException()
        {
            BonusCalculatorService calculator = new BonusCalculatorService(_fakeEmployeeRepository, _fakeDepartmentRepository);

            var result = Assert.ThrowsException <TotalSalaryInvalidException>(() => calculator.CalculateBonus(100, 1000, 0));

            Assert.AreEqual(result.Message, "Total salary amount of company is invalid.");
        }
Esempio n. 6
0
        public void CalculateBonus_NegativeBonuns_ThrowException()
        {
            Mock <IEmployeeRepository> mock = new Mock <IEmployeeRepository>();

            mock.Setup(x => x.GetAll()).Returns(list);

            BonusCalculatorService bonusCalculatorService = new BonusCalculatorService(mock.Object);

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => bonusCalculatorService.CalculateBonus(-1000, 10));
        }
Esempio n. 7
0
        public void TestMethod1()
        {
            // Arrange
            var sut = new BonusCalculatorService();
            // Act
            var bonus = sut.Calculate(100000, 60000, 654750);

            // Assert
            Assert.AreEqual(9163, bonus);
        }
Esempio n. 8
0
        public void CalculateBonus_Employee_Successfully()
        {
            Mock <IEmployeeRepository> mock = new Mock <IEmployeeRepository>();

            mock.Setup(x => x.GetAll()).Returns(list);
            mock.Setup(x => x.Get(1)).Returns(list[0]);

            BonusCalculatorService bonusCalculatorService = new BonusCalculatorService(mock.Object);

            decimal bonus = bonusCalculatorService.CalculateBonus(1000, 1);

            Assert.AreEqual(500, bonus);
        }
Esempio n. 9
0
        public void CalculateBonus_NoEmployee_ThrowException()
        {
            Mock <IEmployeeRepository> mock = new Mock <IEmployeeRepository>();

            mock.Setup(x => x.GetAll()).Returns(list);
            mock.Setup(x => x.Get(1)).Returns(list[0]);

            BonusCalculatorService bonusCalculatorService = new BonusCalculatorService(mock.Object);

            decimal bonus = bonusCalculatorService.CalculateBonus(1000, 1);

            Assert.AreEqual(500, bonus);
            Assert.ThrowsException <InvalidOperationException>(() => bonusCalculatorService.CalculateBonus(1000, 10));
        }