AddMonths() public method

public AddMonths ( System.DateTime time, int months ) : System.DateTime
time System.DateTime
months int
return System.DateTime
 public void NegTest1()
 {
     System.Globalization.Calendar kC = new KoreanCalendar();
     DateTime actualValue;
     Assert.Throws<ArgumentOutOfRangeException>(() =>
     {
         actualValue = kC.AddMonths(new GregorianCalendar().ToDateTime(1, 1, 1, 0, 0, 0, 0), -1);
     });
 }
 public void PosTest2()
 {
     System.Globalization.Calendar kC = new KoreanCalendar();
     DateTime maxDT = DateTime.MaxValue;
     DateTime expectedValue = new GregorianCalendar().ToDateTime(maxDT.Year, maxDT.Month, maxDT.Day, 0, 0, 0, 0);
     DateTime actualValue;
     actualValue = kC.AddMonths(expectedValue, -2);
     Assert.Equal(kC.GetMonth(expectedValue) - 2, kC.GetMonth(actualValue));
 }
 public void PosTest3()
 {
     System.Globalization.Calendar kC = new KoreanCalendar();
     DateTime leapDT = new GregorianCalendar().ToDateTime(2003, 1, 29, 0, 0, 0, 0);
     DateTime expectedValue = leapDT;
     DateTime actualValue;
     actualValue = kC.AddMonths(expectedValue, 1);
     Assert.Equal(kC.GetMonth(expectedValue) + 1, kC.GetMonth(actualValue));
     Assert.Equal(kC.GetDayOfMonth(expectedValue) - 1, kC.GetDayOfMonth(actualValue));
 }
        public void PosTest4()
        {
            System.Globalization.Calendar kC = new KoreanCalendar();
            DateTime tempDT = new GregorianCalendar().ToDateTime(2006, 7, 31, 0, 0, 0, 0);
            DateTime expectedValue = tempDT;
            DateTime actualValue;
            actualValue = kC.AddMonths(expectedValue, 2);

            Assert.Equal(kC.GetMonth(expectedValue) + 2, kC.GetMonth(actualValue));
            Assert.Equal(kC.GetDayOfMonth(actualValue) + 1, kC.GetDayOfMonth(expectedValue));
        }