ShouldApplyEmployeeDeductionWhenEmployeeNameBeginsWithA( Employee employee ) { employee.Dependents = null; employee.Spouse = null; employee.FirstName = "Allen"; var sut = new BenefitsCalculatorService(); employee = sut.SetEmployeeCostsAndDeductions(employee); Assert.Equal(employee.YearlyNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost - (BenefitCosts.EmployeeBenefitsYearlyBaseCost * BenefitCosts.BeneficiaryYearlyDiscountForLetterA)); }
ShouldApplyNoDeductionsWhenEmployeeHasNoDependentsAndNameDoesNotBeginWithA( Employee employee ) { employee.Dependents = null; employee.Spouse = null; employee.FirstName = "Steve"; var sut = new BenefitsCalculatorService(); employee = sut.SetEmployeeCostsAndDeductions(employee); Assert.Equal(employee.YearlyNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost); Assert.Equal(employee.PayPeriodNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost / BenefitCosts.NumberOfPayPeriods); }
ShouldIncludeSpouseCostWhenEmployeeIsMarriedWithNoDeductionsWhenNoNameBeginsWithA( Employee employee ) { employee.Dependents = null; employee.Spouse = new Dependent { FirstName = "Mary" }; employee.FirstName = "Dave"; var sut = new BenefitsCalculatorService(); employee = sut.SetEmployeeCostsAndDeductions(employee); Assert.Equal(employee.TotalYearlyNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost + BenefitCosts.DependentBenefitsYearlyBaseCost); }
ShouldApplyDependentDeductionWhenDependentNameBeingsWithA( Employee employee ) { employee.Spouse = null; employee.Dependents = new List <Dependent> { new Dependent { FirstName = "Annie" } }; employee.FirstName = "Dave"; var sut = new BenefitsCalculatorService(); employee = sut.SetEmployeeCostsAndDeductions(employee); Assert.Equal(employee.TotalYearlyNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost + (BenefitCosts.DependentBenefitsYearlyBaseCost * (1 - BenefitCosts.BeneficiaryYearlyDiscountForLetterA))); }
ShouldIncludeDependentCostWhenEmployeeHasNoDependents( Employee employee ) { employee.Spouse = null; employee.Dependents = new List <Dependent> { new Dependent { FirstName = "Skippy" }, new Dependent { FirstName = "Joey" } }; employee.FirstName = "Dave"; var sut = new BenefitsCalculatorService(); employee = sut.SetEmployeeCostsAndDeductions(employee); Assert.Equal(employee.TotalYearlyNetBenefitsCost, BenefitCosts.EmployeeBenefitsYearlyBaseCost + (BenefitCosts.DependentBenefitsYearlyBaseCost * 2)); }