private GetWeekOfYear ( System.DateTime time, CalendarWeekRule rule, DayOfWeek firstDayOfWeek ) : int | ||
time | System.DateTime | |
rule | CalendarWeekRule | |
firstDayOfWeek | DayOfWeek | |
return | int |
public void PosTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); for (int i = 0; i < 7; i++) { for (int j = 0; j < 3; j++) { int actualWeek = getWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); int resultWeek = tc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); Assert.Equal(resultWeek, actualWeek); } } }
public void PosTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MinSupportedDateTime; for (int i = 0; i < 7; i++) { for (int j = 0; j < 3; j++) { int actualWeek = getWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); int resultWeek = tc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i); Assert.Equal(resultWeek, actualWeek); } } }
public void PosTest4() { System.Globalization.Calendar tc = new TaiwanCalendar(); System.Globalization.Calendar gc = new GregorianCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = 12; int day = 31; int actualWeek = 53; DateTime dt = new DateTime(year, month, day); if (DayOfWeek.Saturday == new DateTime(year, 1, 1).DayOfWeek && DateTime.IsLeapYear(year)) { actualWeek = 54; } int resultWeek = tc.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, DayOfWeek.Sunday); Assert.Equal(resultWeek, actualWeek); }
public void NegTest3() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); int year = rand.Next(tc.MinSupportedDateTime.Year, tc.MaxSupportedDateTime.Year - 1911); int month = rand.Next(1, 12); int day; if (tc.IsLeapYear(year)) { day = rand.Next(1, _DAYS_PER_MONTHS_IN_LEAP_YEAR[month] + 1); } else { day = rand.Next(1, _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month] + 1); } DateTime dt = new DateTime(year, month, day); Assert.Throws<ArgumentOutOfRangeException>(() => { tc.GetWeekOfYear(dt, (CalendarWeekRule)3, DayOfWeek.Sunday); }); Assert.Throws<ArgumentOutOfRangeException>(() => { tc.GetWeekOfYear(dt, (CalendarWeekRule)(-1), DayOfWeek.Sunday); }); }
public void NegTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); Random rand = new Random(-55); DateTime dt = tc.MinSupportedDateTime; dt = dt.AddYears(rand.Next(-1911, -1)); Assert.Throws<ArgumentOutOfRangeException>(() => { tc.GetWeekOfYear(dt, CalendarWeekRule.FirstDay, DayOfWeek.Sunday); }); }