public void BusinessDaysBetweenTwoDatesCustomHolidays_WhenPasseValidDatesAndCustomHoliday_ThenReturnsCorrectCount() { // Arrange var firstDate = new DateTime(2020, 4, 20); var secondDate = new DateTime(2020, 4, 30); var anzacDayHoliday = new PublicHoliday { Name = "Anzac Day", Month = 4, Day = 25, MustHappenOnAWeekDay = true }; var holidayList = new List <PublicHoliday> { anzacDayHoliday }; var anzacDayDateIn2020 = new List <DateTime> { new DateTime(2020, 4, 27) }; var year = new List <int> { 2020 }; var calculator = new FixedDayCalculator(); _dateHelper.GetYearsBetweenDates(firstDate, secondDate).Returns(year); _publicHolidayCalculatorFactory.GetCalculator(anzacDayHoliday).Returns(calculator); var target = new DateCounter(_publicHolidayCalculatorFactory, _dateHelper, _logger); // Act var actual = target.BusinessDaysBetweenTwoDates(firstDate, secondDate, holidayList); // Assert actual.Should().Be(6); _dateHelper.Received(1).GetYearsBetweenDates(firstDate, secondDate); _publicHolidayCalculatorFactory.Received(1).GetCalculator(anzacDayHoliday); }
public void WeekdaysBetweenTwoDates_WhenPasseValidDates_ThenReturnsCorrectCount(DateTime firstDate, DateTime secondDate, int expectedCounts) { // Arrange var target = new DateCounter(_publicHolidayCalculatorFactory, _dateHelper, _logger); // Act var actual = target.WeekdaysBetweenTwoDates(firstDate, secondDate); // Assert actual.Should().Be(expectedCounts); }
public async Task <IActionResult> Get() { var all = await Task.Run(() => _repo.GetAll()); var e = new DateCounter() { LastCount = DateTime.Now, Count = 1 }; if (all.Any()) { e = new DateCounter() { LastCount = DateTime.Now, Count = all.Last().Count + 1 }; } await Task.Run(() => _repo.Add(e)); return(await Task.Run(() => Ok(JsonConvert.SerializeObject(new { Time = e.LastCount, Count = e.Count }, Formatting.Indented)))); }