コード例 #1
0
        public void NextXMonthsTest([Range(0, 100)] int numOfMonths)
        {
            var date         = FuzzyDateTimeCore.NextXMonths(numOfMonths);
            var expectedDate = DateTime.Now.AddMonths(numOfMonths);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #2
0
        public void XMonthsFromToday([Values(-1000, -100, -10, -9, -1, 0, 1, 9, 10, 100, 1000)] int numOfMonths)
        {
            var date         = FuzzyDateTimeCore.XMonthsFromToday(numOfMonths);
            var expectedDate = DateTime.Now.AddMonths(numOfMonths);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #3
0
        public void NextXSecondsTest([Range(0, 120)] int numOfSeconds)
        {
            var date         = FuzzyDateTimeCore.NextXSeconds(numOfSeconds);
            var expectedDate = DateTime.Now.AddSeconds(numOfSeconds);

            date.Should().BeCloseTo(expectedDate, 100);
        }
コード例 #4
0
        public void NextMonthTest()
        {
            var date         = FuzzyDateTimeCore.NextMonth();
            var expectedDate = DateTime.Now.AddMonths(1);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #5
0
        public void NextXHoursTest([Range(0, 144)] int numOfHours)
        {
            var date         = FuzzyDateTimeCore.NextXHours(numOfHours);
            var expectedDate = DateTime.Now.AddHours(numOfHours);

            date.Should().BeCloseTo(expectedDate, 100);
        }
コード例 #6
0
        public void XMinutesAgoTest([Range(0, 120)] int numOfMinutes)
        {
            var date         = FuzzyDateTimeCore.XMinutesAgo(numOfMinutes);
            var expectedDate = DateTime.Now.AddMinutes(-numOfMinutes);

            date.Should().BeCloseTo(expectedDate, 100);
        }
コード例 #7
0
        public void TomorrowTest()
        {
            var date         = FuzzyDateTimeCore.Tomorrow();
            var expectedDate = DateTime.Now.AddDays(1);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #8
0
        public void YesterdayTest()
        {
            var date         = FuzzyDateTimeCore.Yesterday();
            var expectedDate = DateTime.Now.AddDays(-1);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #9
0
        public void TodayTest()
        {
            var date         = FuzzyDateTimeCore.Today();
            var expectedDate = DateTime.Now;

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #10
0
        public void NextXDaysTest([Values(0, 1, 9, 10, 100, 1000)] int numOfDays)
        {
            var date         = FuzzyDateTimeCore.NextXDays(numOfDays);
            var expectedDate = DateTime.Now.AddDays(numOfDays);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #11
0
        public void XYearsAgoTest([Range(0, 100)] int numOfYears)
        {
            var date         = FuzzyDateTimeCore.XYearsAgo(numOfYears);
            var expectedDate = DateTime.Now.AddYears(-numOfYears);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #12
0
        public void XDaysBeforeOrAfterTheFirstOrLastOfTheMonthXMonthsAgoTest([Values(1, 2, 3)] int numOfDays,
                                                                             [Values("before", "after")] string daysDirection,
                                                                             [Values("first", "last")] string timeOfMonth,
                                                                             [Values(1, 2, 3)] int numOfMonths)
        {
            var date         = FuzzyDateTimeCore.XDaysBeforeOrAfterTheFirstOrLastOfTheMonthXMonthsAgo(numOfDays, daysDirection, timeOfMonth, numOfMonths);
            var expectedDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

            if (timeOfMonth == "last")
            {
                expectedDate = expectedDate
                               .AddMonths(-numOfMonths + 1)
                               .AddDays(-1);
            }
            else
            {
                expectedDate = expectedDate
                               .AddMonths(-numOfMonths);
            }

            if (daysDirection == "before")
            {
                expectedDate = expectedDate
                               .AddDays(-numOfDays);
            }
            else
            {
                expectedDate = expectedDate
                               .AddDays(numOfDays);
            }

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #13
0
        public void LastOrNextYearTest(string direction, int yearsToAdd)
        {
            var date         = FuzzyDateTimeCore.LastOrNextYear(direction);
            var expectedDate = new DateTime(DateTime.Now.Year + yearsToAdd, 1, 1);

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #14
0
        public void DayXOfLastOrThisOrNextMonthTest([Range(1, 28)] int day,
                                                    [Values("last", "this", "next")] string direction)
        {
            var date         = FuzzyDateTimeCore.DayXOfLastOrThisOrNextMonth(day, direction);
            var expectedDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, day);

            expectedDate = direction switch
            {
                "last" => expectedDate.AddMonths(-1),
                "next" => expectedDate.AddMonths(1),
                _ => expectedDate
            };

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #15
0
        public void FirstOrLastOfTheMonthXMonthsAgoTest([Values("first", "last")] string timeOfMonth,
                                                        [Range(0, 100)] int numOfMonths)
        {
            var date         = FuzzyDateTimeCore.FirstOrLastOfTheMonthXMonthsAgo(timeOfMonth, numOfMonths);
            var expectedDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

            if (timeOfMonth == "last")
            {
                expectedDate = expectedDate
                               .AddMonths(-numOfMonths + 1)
                               .AddDays(-1);
            }
            else
            {
                expectedDate = expectedDate
                               .AddMonths(-numOfMonths);
            }

            date.Should().BeSameDateAs(expectedDate);
        }
コード例 #16
0
        public void LastOrNextDayOfWeekTest([Values("last", "next")] string direction,
                                            [Values("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")] string dayOfWeekStr)
        {
            var date      = FuzzyDateTimeCore.LastOrNextDayOfWeek(direction, dayOfWeekStr);
            var dayOfWeek = Enum.Parse <DayOfWeek>(dayOfWeekStr, true);

            date.DayOfWeek.Should().BeEquivalentTo(dayOfWeek);

            if (direction == "last")
            {
                date.Should()
                .BeBefore(DateTime.Today).And
                .BeWithin(TimeSpan.FromDays(7));
            }
            else
            {
                date.Should()
                .BeAfter(DateTime.Today).And
                .BeWithin(TimeSpan.FromDays(7));
            }
        }