public void ShouldWorkForSemiMonthlyOn15() { // Arrange var sut = new StartDateFromEndDateGetter(); var endDate = new DateTime(2021, 9, 15); // Act var result = sut.Get(endDate, ppTypes.SEMIMONTHLY); // Assert var expected = new DateTime(2021, 9, 1); Assert.Equal(expected, result); }
public void ShouldWorkForBiWeekly() { // Arrange var sut = new StartDateFromEndDateGetter(); var endDate = new DateTime(2019, 3, 14); // Act var result = sut.Get(endDate, ppTypes.BIWEEKLY); // Assert var expected = new DateTime(2019, 3, 1); Assert.Equal(expected, result); }
public void ShouldWorkForBiWeeklyOnDifferentMonth() { // Arrange var sut = new StartDateFromEndDateGetter(); var endDate = new DateTime(2021, 9, 4); // Act var result = sut.Get(endDate, ppTypes.BIWEEKLY); // Assert var expected = new DateTime(2021, 8, 22); Assert.Equal(expected, result); }
public void ShouldWorkForMonthly(int dayOfMonth) { // Arrange var sut = new StartDateFromEndDateGetter(); var endDate = new DateTime(2019, 3, dayOfMonth, 3, 6, 50); // Act var result = sut.Get(endDate, ppTypes.MONTHLY); // Assert var expected = new DateTime(2019, 3, 1, 0, 0, 0); Assert.Equal(expected, result); }
private AverageIncomeCalculator GetSut() { var startDateGetter = new StartDateFromEndDateGetter(); var payPeriodCreator = new FullPayPeriodCreator(); var fullRoeCreator = new FullRoeCreator(startDateGetter, payPeriodCreator); var mainStartDateGetter = new MainStartDateGetter(); var incomeRoeGetter = new IncomeRoeGetter(); var weeklyIncomeGetter = new WeeklyIncomeGetter(incomeRoeGetter); var incomeListGetter = new IncomeListGetter(mainStartDateGetter, weeklyIncomeGetter); var result = new AverageIncomeCalculator(fullRoeCreator, incomeListGetter); return(result); }