public void NegTest2() { 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, 30); } else { day = rand.Next(1, 29); } DateTime dt = tc.ToDateTime(year, month, day, 0, 0, 0, 0); int addValue = rand.Next(Int32.MinValue, (tc.MinSupportedDateTime.Year - year) * 12); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.AddMonths(dt, addValue); }); }
public void NegTest4() { 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); int addValue = rand.Next(120000, Int32.MaxValue); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.AddMonths(dt, addValue); }); }
public void NegTest1() { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime dt = tc.MaxSupportedDateTime; int addValue = _generator.GetInt32(-55); Assert.Throws <ArgumentOutOfRangeException>(() => { tc.AddMonths(dt, addValue); }); }
private void VerificationHelper(DateTime value, int addValue) { System.Globalization.Calendar tc = new TaiwanCalendar(); DateTime newDate = tc.AddMonths(value, addValue); int totalYear = addValue / 12; int leftMonth = addValue % 12; int day = value.Day; int month = value.Month + leftMonth; int year = value.Year + totalYear; if (month > 12) { month = month % 12; year++; } if (month < 1) { year--; month = 12 + month; } int dayInMonth = 0; if (IsLeapYear(year)) { dayInMonth = _DAYS_PER_MONTHS_IN_LEAP_YEAR[month]; } else { dayInMonth = _DAYS_PER_MONTHS_IN_NO_LEAP_YEAR[month]; } day = day > dayInMonth ? dayInMonth : day; DateTime desiredDate = new DateTime(year, month, day, value.Hour, value.Minute, value.Second, value.Millisecond); Assert.Equal(desiredDate.Year, newDate.Year); Assert.Equal(desiredDate.Month, newDate.Month); Assert.Equal(desiredDate.Day, newDate.Day); Assert.Equal(desiredDate.Hour, newDate.Hour); Assert.Equal(desiredDate.Minute, newDate.Minute); Assert.Equal(desiredDate.Second, newDate.Second); Assert.Equal(desiredDate.Millisecond, newDate.Millisecond); }
public static void Main() { // Sets a DateTime to April 3, 2002 of the Gregorian calendar. DateTime myDT = new DateTime(2002, 4, 3, new GregorianCalendar()); // Creates an instance of the TaiwanCalendar. TaiwanCalendar myCal = new TaiwanCalendar(); // Displays the values of the DateTime. Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Taiwan calendar:"); DisplayValues(myCal, myDT); // Adds two years and ten months. myDT = myCal.AddYears(myDT, 2); myDT = myCal.AddMonths(myDT, 10); // Displays the values of the DateTime. Console.WriteLine("After adding two years and ten months:"); DisplayValues(myCal, myDT); }