public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = new DateTime(2000, 2, 29);
     int era = tbc.GetEra(dt);
     Assert.Equal(1, era);
 }
 public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MinSupportedDateTime;
     int i = 0;
     VerificationHelper(dt, i);
 }
 public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     int twoYearMax = 99;
     tbc.TwoDigitYearMax = twoYearMax;
     Assert.Equal(tbc.TwoDigitYearMax, twoYearMax);
 }
        public void PosTest3()
        {
            System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
            DateTime dt = tbc.MaxSupportedDateTime;

            Assert.Equal(365, tbc.GetDayOfYear(dt));
        }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = rand.Next(tbc.GetYear(tbc.MinSupportedDateTime), tbc.GetYear(tbc.MaxSupportedDateTime));
     Assert.Equal(year, tbc.ToFourDigitYear(year));
 }
 public void PosTest3()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MinSupportedDateTime;
     int era = tbc.GetEra(dt);
     Assert.Equal(1, era);
 }
 public void PosTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     System.Globalization.Calendar gc = new GregorianCalendar();
     DateTime desiretdDT = gc.ToDateTime(1, 1, 1, 0, 0, 0, 0);
     Assert.Equal(tbc.MinSupportedDateTime, desiretdDT);
 }
        public void PosTest1()
        {
            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, 13);
            int day;
            if (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);
            }

            int hour = rand.Next(0, 24);
            int minute = rand.Next(0, 60);
            int second = rand.Next(0, 60);
            int milliSecond = rand.Next(0, 1000);
            int era = 0;
            for (int i = 0; i < tbc.Eras.Length; i++)
            {
                era = tbc.Eras[i];
                DateTime dt = tbc.ToDateTime(year, month, day, hour, minute, second, milliSecond, era);
                DateTime desiredDT = tbc.ToDateTime(year, month, day, hour, minute, second, milliSecond);
                Assert.Equal(dt, desiredDT);
            }
        }
        public void PosTest1()
        {
            System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
            Random rand = new Random(-55);
            int year = rand.Next(tbc.MinSupportedDateTime.Year, tbc.MaxSupportedDateTime.Year);
            int month = rand.Next(1, 12);
            int day;
            if (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 = tbc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i);
                    Assert.Equal(actualWeek, resultWeek);
                }
            }
        }
Beispiel #10
0
        //This function exists as a hack to prevent us from loading all of the non-gregorian
        //calendars unless they're required.
        internal Calendar GetCalendarInstanceRare(int calType)
        {
            BCLDebug.Assert(calType != Calendar.CAL_GREGORIAN, "calType!=Calendar.CAL_GREGORIAN");

            switch (calType)
            {
            case Calendar.CAL_GREGORIAN_US:                   // Gregorian (U.S.) calendar
            case Calendar.CAL_GREGORIAN_ME_FRENCH:            // Gregorian Middle East French calendar
            case Calendar.CAL_GREGORIAN_ARABIC:               // Gregorian Arabic calendar
            case Calendar.CAL_GREGORIAN_XLIT_ENGLISH:         // Gregorian Transliterated English calendar
            case Calendar.CAL_GREGORIAN_XLIT_FRENCH:          // Gregorian Transliterated French calendar
                return(new GregorianCalendar((GregorianCalendarTypes)calType));

            case Calendar.CAL_TAIWAN:                         // Taiwan Era calendar
                return(TaiwanCalendar.GetDefaultInstance());

            case Calendar.CAL_JAPAN:                          // Japanese Emperor Era calendar
                return(JapaneseCalendar.GetDefaultInstance());

            case Calendar.CAL_KOREA:                          // Korean Tangun Era calendar
                return(KoreanCalendar.GetDefaultInstance());

            case Calendar.CAL_HIJRI:                          // Hijri (Arabic Lunar) calendar
                return(HijriCalendar.GetDefaultInstance());

            case Calendar.CAL_THAI:                           // Thai calendar
                return(ThaiBuddhistCalendar.GetDefaultInstance());

            case Calendar.CAL_HEBREW:                         // Hebrew (Lunar) calendar
                return(HebrewCalendar.GetDefaultInstance());
            }
            return(GregorianCalendar.GetDefaultInstance());
        }
 public void PosTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     System.Globalization.Calendar gc = new GregorianCalendar();
     DateTime desiretdDT = gc.ToDateTime(9999, 12, 31, 23, 59, 59, 999);
     desiretdDT = desiretdDT.AddTicks(9999);
     Assert.Equal(tbc.MaxSupportedDateTime, desiretdDT);
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int twoYearMax = rand.Next(99, tbc.MaxSupportedDateTime.Year + 543);
     tbc.TwoDigitYearMax = twoYearMax;
     Assert.Equal(tbc.TwoDigitYearMax, twoYearMax);
 }
 public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     tbc.TwoDigitYearMax = 2029;
     int year = 0;
     int expectedYear = 2000;
     Assert.Equal(expectedYear, tbc.ToFourDigitYear(year));
 }
 public void NegTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     int year = 10000 + 543;
     Assert.Throws<ArgumentOutOfRangeException>(() =>
     {
         tbc.ToFourDigitYear(year);
     });
 }
 public void NegTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     int year = 98;
     Assert.Throws<ArgumentOutOfRangeException>(() =>
     {
         tbc.TwoDigitYearMax = year;
     });
 }
 public void NegTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = rand.Next(tbc.MinSupportedDateTime.Year + 543, tbc.MaxSupportedDateTime.Year + 544);
     int era = 2;
     Assert.Throws<ArgumentOutOfRangeException>(() =>
     {
         tbc.GetMonthsInYear(year, era);
     });
 }
 public void PosTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = rand.Next(tbc.MinSupportedDateTime.Year + 543, tbc.MaxSupportedDateTime.Year + 544);
     int month = rand.Next(1, 13);
     int day = rand.Next(1, tbc.GetDaysInMonth(year, month) + 1);
     DateTime dt = tbc.ToDateTime(year, month, day, 0, 0, 0, 0);
     int era = tbc.GetEra(dt);
     Assert.Equal(1, era);
 }
 public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = tbc.MaxSupportedDateTime.Year + 543;
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.False(tbc.IsLeapYear(year, era));
     }
 }
 public void PosTest3()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MaxSupportedDateTime;
     int year = dt.Year + 543;
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.Equal(_months_IN_YEAR, tbc.GetMonthsInYear(year, era));
     }
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = 2000 + 543;
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.True(tbc.IsLeapYear(year, era));
     }
 }
 public void PosTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = rand.Next(tbc.MinSupportedDateTime.Year + 543, tbc.MaxSupportedDateTime.Year + 544);
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.Equal(_months_IN_YEAR, tbc.GetMonthsInYear(year, era));
     }
 }
 public void PosTest1()
 {
     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, 13);
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.False(tbc.IsLeapMonth(year, month, era));
     }
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MinSupportedDateTime;
     int year = dt.Year + 543;
     int era;
     int actualDays = 365;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.Equal(actualDays, tbc.GetDaysInYear(year, era));
     }
 }
 public void PosTest4()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = new DateTime(2000, 12, 31);
     int year = 2000 + 543;
     int era;
     int actualDays = 366;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.Equal(actualDays, tbc.GetDaysInYear(year, era));
     }
 }
 public void PosTest3()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MaxSupportedDateTime;
     int year = dt.Year - 1911;
     int month = dt.Month;
     int era;
     int actualDays = 31;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         Assert.Equal(actualDays, tbc.GetDaysInMonth(year, month, era));
     }
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime dt = tbc.MaxSupportedDateTime;
     for (int i = 0; i < 7; i++)
     {
         for (int j = 0; j < 3; j++)
         {
             int actualWeek = getWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i);
             int resultWeek = tbc.GetWeekOfYear(dt, (CalendarWeekRule)j, (DayOfWeek)i);
             Assert.Equal(actualWeek, resultWeek);
         }
     }
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     Random rand = new Random(-55);
     int year = 2000;
     int month = 2;
     int day;
     DateTime dt;
     for (day = 1; day < 30; day++)
     {
         dt = new DateTime(year, month, day);
         Assert.Equal(day, tbc.GetDayOfMonth(dt));
     }
 }
 public void PosTest1()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     tbc.TwoDigitYearMax = 2029;
     Random rand = new Random(-55);
     int year = rand.Next(1, 99);
     int expertedYear;
     if (year > 29)
     {
         expertedYear = year + 1900;
     }
     else
     {
         expertedYear = year + 2000;
     }
     Assert.Equal(expertedYear, tbc.ToFourDigitYear(year));
 }
 public void PosTest2()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     int year = 9999 + 543;
     int month = 12;
     int day = 31;
     int hour = 23;
     int minute = 59;
     int second = 59;
     int milliSecond = 999;
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         DateTime dt = tbc.ToDateTime(year, month, day, hour, minute, second, milliSecond, era);
         DateTime desireDT = tbc.ToDateTime(year, month, day, hour, minute, second, milliSecond);
         Assert.Equal(dt, desireDT);
     }
 }
 public void PosTest3()
 {
     System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
     DateTime minDT = tbc.MinSupportedDateTime;
     int year = 1 + 543;
     int month = 1;
     int day = 1;
     int hour = 0;
     int minute = 0;
     int second = 0;
     int milliSecond = 0;
     int era;
     for (int i = 0; i < tbc.Eras.Length; i++)
     {
         era = tbc.Eras[i];
         DateTime dt = tbc.ToDateTime(year, month, day, hour, minute, second, milliSecond, era);
         Assert.Equal(dt, minDT);
     }
 }
        public void PosTest1()
        {
            System.Globalization.Calendar tbc = new ThaiBuddhistCalendar();
            Random rand = new Random(-55);
            int year = rand.Next(tbc.MinSupportedDateTime.Year + 543, tbc.MaxSupportedDateTime.Year + 544);
            int month = rand.Next(1, 12);
            int day;
            if (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 = tbc.ToDateTime(year, month, day, 0, 0, 0, 0);
            DayOfWeek actualDay = getDayOfWeek(dt);
            Assert.Equal(actualDay, tbc.GetDayOfWeek(dt));
        }
        unsafe internal void ConstructCalendars()
        {
            if (calendar_data == null)
            {
                optional_calendars = new Calendar [] { new GregorianCalendar(GregorianCalendarTypes.Localized) };
                return;
            }

            optional_calendars = new Calendar [NumOptionalCalendars];

            for (int i = 0; i < NumOptionalCalendars; i++)
            {
                Calendar cal     = null;
                int      caldata = *(calendar_data + i);
                int      caltype = (caldata >> CalendarTypeBits);
                switch (caltype)
                {
                case 0:
                    GregorianCalendarTypes greg_type;
                    greg_type = (GregorianCalendarTypes)(caldata & GregorianTypeMask);
                    cal       = new GregorianCalendar(greg_type);
                    break;

                case 1:
                    cal = new HijriCalendar();
                    break;

                case 2:
                    cal = new ThaiBuddhistCalendar();
                    break;

                default:
                    throw new Exception("invalid calendar type:  " + caldata);
                }
                optional_calendars [i] = cal;
            }
        }
Beispiel #33
0
 private static void Include(ThaiBuddhistCalendar sb)
 {
     sb = new System.Globalization.ThaiBuddhistCalendar();
 }