Пример #1
0
        public void TestGetHolidays()
        {
            var holidayTable = GetHolidayTable();

            for (var year = StatDate.Year; year <= EndDate.Year; year++)
            {
                var start = new DateTime(year, 1, 1);
                var end   = new DateTime(year, 12, DateTime.DaysInMonth(year, 12));

                var holidays = JpHoliday.GetHolidays(start, end);
                foreach (var date in holidayTable.Keys.Where((d) => d.Year == year))
                {
                    var holiday = holidays.FirstOrDefault((h) => h.Date == date);
                    Assert.IsNotNull(
                        holiday,
                        @"[{0}]は休日ではないと判定されましたがテストデータには[{1}]として含まれています",
                        date.ToString(@"yyyy/MM/dd"),
                        holidayTable[date]);

                    Assert.AreEqual(
                        holidayTable[date],
                        holiday.Name,
                        true,
                        @"[{0}]は[{1}]と判定されましたがテストデータの[{2}]と一致しません",
                        date.ToString(@"yyyy/MM/dd"),
                        holiday.Name,
                        holidayTable[date]);
                }
            }
        }
Пример #2
0
        public void TestGetHoliday()
        {
            var holidayTable = GetHolidayTable();

            for (var date = StatDate; date <= EndDate; date = date.AddDays(1))
            {
                var holiday = JpHoliday.GetHoliday(date);
                if (holiday != null && !holidayTable.ContainsKey(date))
                {
                    Assert.Fail(
                        @"[{0}]は[{1}]と判定されましたがテストデータに含まれていません",
                        date.ToString(@"yyyy/MM/dd"),
                        holiday.Name);
                }
                else if (holiday == null && holidayTable.ContainsKey(date))
                {
                    Assert.Fail(
                        @"[{0}]は休日ではないと判定されましたがテストデータには[{1}]として含まれています",
                        date.ToString(@"yyyy/MM/dd"),
                        holidayTable[date]);
                }

                if (holiday != null)
                {
                    Assert.AreEqual(
                        holidayTable[date],
                        holiday.Name,
                        true,
                        @"[{0}]は[{1}]と判定されましたがテストデータの[{2}]と一致しません",
                        date.ToString(@"yyyy/MM/dd"),
                        holiday.Name,
                        holidayTable[date]);
                }
            }
        }
Пример #3
0
        public void TestIsHoliday()
        {
            var holidayTable = GetHolidayTable();

            for (var date = StatDate; date <= EndDate; date = date.AddDays(1))
            {
                var expected = holidayTable.ContainsKey(date);
                var actual   = JpHoliday.IsHoliday(date);
                Assert.AreEqual(
                    expected,
                    actual,
                    @"[{0}]は[{1}]と判定されましたがテストデータの[{2}]と一致しません",
                    date.ToString(@"yyyy/MM/dd"),
                    (actual ? @"休日" : @"休日ではない"),
                    (expected ? @"休日" : @"休日ではない"));
            }
        }
Пример #4
0
        public void TestExistsHoliday()
        {
            var holidayTable = GetHolidayTable();
            var startDate    = new DateTime(StatDate.Year, StatDate.Month, 1);
            var endDate      = new DateTime(EndDate.Year, EndDate.Month, 1);

            for (var date = startDate; date <= endDate; date = date.AddMonths(1))
            {
                var start = new DateTime(date.Year, date.Month, 1);
                var end   = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));

                var expected = holidayTable.Keys.Any((d) => d.Year == date.Year && d.Month == date.Month);
                var actual   = JpHoliday.ExistsHoliday(start, end);
                Assert.AreEqual(
                    expected,
                    actual,
                    @"[{0}]は[{1}]と判定されましたがテストデータの[{2}]と一致しません",
                    date.ToString(@"yyyy/MM"),
                    (actual ? @"休日あり" : @"休日なし"),
                    (expected ? @"休日あり" : @"休日なし"));
            }
        }