예제 #1
0
        public void IsSameWeekWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>());
            var now          = DateTimeOffset.Now;

            Assert.True(usageService.IsSameWeek(now));
            var nowWeek = GetIso8601WeekOfYear(now);

            DateTimeOffset nextWeek = now;

            for (int i = 1; i < 8; i++)
            {
                nextWeek = nextWeek.AddDays(1);
                var week = GetIso8601WeekOfYear(nextWeek);
                Assert.AreEqual(week == nowWeek, usageService.IsSameWeek(nextWeek));
            }

            DateTimeOffset prevWeek = now;

            for (int i = 1; i < 8; i++)
            {
                prevWeek = prevWeek.AddDays(-1);
                var week = GetIso8601WeekOfYear(prevWeek);
                Assert.AreEqual(week == nowWeek, usageService.IsSameWeek(prevWeek));
            }

            Assert.False(usageService.IsSameWeek(now.AddYears(1)));
        }