public AddMonths ( System.DateTime time, int months ) : System.DateTime | ||
time | System.DateTime | |
months | int | |
return | System.DateTime |
public void PosTest3() { System.Globalization.Calendar tbc = new ThaiBuddhistCalendar(); Random rand = new Random(-55); int year = rand.Next(tbc.GetYear(tbc.MinSupportedDateTime), tbc.GetYear(tbc.MaxSupportedDateTime)); int month = rand.Next(1, 12); int day; if (IsLeapYearThaiBuddhist(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 = tbc.ToDateTime(year, month, day, 0, 0, 0, 0); int addvalue = 0; DateTime actualDT = tbc.AddMonths(dt, addvalue); Assert.Equal(dt, actualDT); }
private void VerificationHelper(DateTime value, int addValue) { System.Globalization.Calendar tbc = new ThaiBuddhistCalendar(); DateTime newDate = tbc.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++; } int dayInMonth = 0; if (IsLeapYearGregorian(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); _errorNo++; 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 void NegTest2() { System.Globalization.Calendar tbc = new ThaiBuddhistCalendar(); DateTime dt = tbc.MinSupportedDateTime; int addValue = _generator.GetInt32(-55); addValue = -addValue; Assert.Throws<ArgumentOutOfRangeException>(() => { tbc.AddMonths(dt, addValue); }); }
public void NegTest4() { System.Globalization.Calendar tbc = new ThaiBuddhistCalendar(); Random rand = new Random(-55); int year = rand.Next(tbc.GetYear(tbc.MinSupportedDateTime), tbc.GetYear(tbc.MaxSupportedDateTime)); int month = rand.Next(1, 12); int day; if (IsLeapYearThaiBuddhist(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 = tbc.ToDateTime(year, month, day, 0, 0, 0, 0); int addValue = rand.Next(120000, Int32.MaxValue); Assert.Throws<ArgumentOutOfRangeException>(() => { tbc.AddMonths(dt, addValue); }); }
public void NegTest2() { System.Globalization.Calendar tbc = new ThaiBuddhistCalendar(); Random rand = new Random(-55); int year = rand.Next(tbc.MinSupportedDateTime.Year + 543, tbc.MaxSupportedDateTime.Year + 543); int month = rand.Next(1, 12); int day; if (IsLeapYear(year)) { day = rand.Next(1, 30); } else { day = rand.Next(1, 29); } DateTime dt = tbc.ToDateTime(year, month, day, 0, 0, 0, 0); int addValue = rand.Next(Int32.MinValue, tbc.MinSupportedDateTime.Year - year + 543); Assert.Throws<ArgumentOutOfRangeException>(() => { tbc.AddMonths(dt, addValue); }); }