public void EmployeeOnlyWithNoName() { var emp = new EmployeeFactory().CreateEmployee(52000, 26); var benCalc = new BenefitCalculatorService(new NameDiscountPolicy()); var results = benCalc.Calculate(emp); Assert.AreEqual(results.BaseAnnualCost, 1000); Assert.AreEqual(results.DiscountApplied, false); Assert.AreEqual(results.DiscountedAnnualCost, 1000); }
public void EmployeeWithDependentsWithDiscount() { var emp = new EmployeeFactory().CreateEmployee(52000, 26); emp.FirstName = "John"; emp.Dependents.Add(new DependentFactory().CreateDependent("Aaron", "Doe")); var benCalc = new BenefitCalculatorService(new NameDiscountPolicy()); var results = benCalc.Calculate(emp); Assert.AreEqual(results.BaseAnnualCost, 1500); Assert.AreEqual(results.DiscountApplied, true); Assert.AreEqual(results.DiscountedAnnualCost, 1450); }
public void EmployeeOnlyWithDiscount() { var emp = new EmployeeFactory().CreateEmployee(52000, 26); emp.FirstName = "Aaron"; var b = new BenefitCalculatorService(new NameDiscountPolicy()); var p = new PaycheckCalculatorService(b); p.Calculate(emp); Assert.AreEqual(emp.PayCheck.GrossAmount, 2000); Assert.AreEqual(emp.PayCheck.NetAmount, 1965.38M); Assert.AreEqual(emp.PayCheck.Deductions.Count, 1); Assert.AreEqual(emp.PayCheck.Deductions["Benefits"], 34.62M); }
public void EmployeeWithDependentWithDiscount() { var emp = new EmployeeFactory().CreateEmployee(52000, 26); emp.FirstName = "Aaron"; emp.Dependents.Add(new DependentFactory().CreateDependent("Allison", "Smith")); var b = new BenefitCalculatorService(new NameDiscountPolicy()); var p = new PaycheckCalculatorService(b); p.Calculate(emp); Assert.AreEqual(emp.PayCheck.GrossAmount, 2000); Assert.AreEqual(emp.PayCheck.NetAmount, 1948.08M); Assert.AreEqual(emp.PayCheck.Deductions.Count, 1); Assert.AreEqual(emp.PayCheck.Deductions["Benefits"], 51.92M); }