コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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))));
        }