Пример #1
0
        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);
        }
Пример #2
0
        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);
        }