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."); }
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)); }
public void TestMethod1() { // Arrange var sut = new BonusCalculatorService(); // Act var bonus = sut.Calculate(100000, 60000, 654750); // Assert Assert.AreEqual(9163, bonus); }
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); }
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)); }