Beispiel #1
0
        /// <summary>
        /// Constants to save typing.
        /// </summary>
        ///

        /*
         * Test dates generated from: http://www.fourmilab.ch/documents/calendar/
         *
         * /** A huge list of test cases to make sure that computeTime and
         * computeFields work properly for a wide range of data in the Indian civil
         * calendar.
         */
        public void TestCases()
        {
            TestCase[] tests =
            {
                //
                // The months in this table are 1-based rather than 0-based,
                // because it's easier to edit that way.
                // Indian
                // Julian Day Era Year Month Day WkDay Hour Min Sec
                new TestCase(1770641.5d, 0,   57, ASVINA,     10, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(1892731.5d, 0,  391, PAUSA,      18, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(1931579.5d, 0,  498, VAISAKHA,   30, IBM.ICU.Charset.CalendarTest.MON, 0, 0, 0),
                new TestCase(1974851.5d, 0,  616, KARTIKA,    19, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2091164.5d, 0,  935, VAISAKHA,    5, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2121509.5d, 0, 1018, JYAISTHA,    3, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2155779.5d, 0, 1112, CHAITRA,     2, IBM.ICU.Charset.CalendarTest.FRI, 0, 0, 0),
                new TestCase(2174029.5d, 0, 1161, PHALGUNA,   20, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2191584.5d, 0, 1210, CHAITRA,    13, IBM.ICU.Charset.CalendarTest.FRI, 0, 0, 0),
                new TestCase(2195261.5d, 0, 1220, VAISAKHA,    7, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2229274.5d, 0, 1313, JYAISTHA,   22, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2245580.5d, 0, 1357, MAGHA,      14, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(2266100.5d, 0, 1414, CHAITRA,    20, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2288542.5d, 0, 1475, BHADRA,     28, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2290901.5d, 0, 1481, PHALGUNA,   15, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2323140.5d, 0, 1570, JYAISTHA,   20, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(2334551.5d, 0, 1601, BHADRA,     16, IBM.ICU.Charset.CalendarTest.THU, 0, 0, 0),
                new TestCase(2334581.5d, 0, 1601, ASVINA,     15, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2334610.5d, 0, 1601, KARTIKA,    14, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2334639.5d, 0, 1601, AGRAHAYANA, 13, IBM.ICU.Charset.CalendarTest.MON, 0, 0, 0),
                new TestCase(2334668.5d, 0, 1601, PAUSA,      12, IBM.ICU.Charset.CalendarTest.TUE, 0, 0, 0),
                new TestCase(2334698.5d, 0, 1601, MAGHA,      12, IBM.ICU.Charset.CalendarTest.THU, 0, 0, 0),
                new TestCase(2334728.5d, 0, 1601, PHALGUNA,   12, IBM.ICU.Charset.CalendarTest.SAT, 0, 0, 0),
                new TestCase(2334757.5d, 0, 1602, CHAITRA,    11, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2334787.5d, 0, 1602, VAISAKHA,   10, IBM.ICU.Charset.CalendarTest.TUE, 0, 0, 0),
                new TestCase(2334816.5d, 0, 1602, JYAISTHA,    8, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(2334846.5d, 0, 1602, ASADHA,      7, IBM.ICU.Charset.CalendarTest.FRI, 0, 0, 0),
                new TestCase(2334848.5d, 0, 1602, ASADHA,      9, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2348020.5d, 0, 1638, SRAVANA,     2, IBM.ICU.Charset.CalendarTest.FRI, 0, 0, 0),
                new TestCase(2334934.5d, 0, 1602, ASVINA,      2, IBM.ICU.Charset.CalendarTest.TUE, 0, 0, 0),
                new TestCase(2366978.5d, 0, 1690, JYAISTHA,   29, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2385648.5d, 0, 1741, SRAVANA,    11, IBM.ICU.Charset.CalendarTest.MON, 0, 0, 0),
                new TestCase(2392825.5d, 0, 1761, CHAITRA,     6, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(2416223.5d, 0, 1825, CHAITRA,    29, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2425848.5d, 0, 1851, BHADRA,      3, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2430266.5d, 0, 1863, ASVINA,      7, IBM.ICU.Charset.CalendarTest.MON, 0, 0, 0),
                new TestCase(2430833.5d, 0, 1865, CHAITRA,    29, IBM.ICU.Charset.CalendarTest.MON, 0, 0, 0),
                new TestCase(2431004.5d, 0, 1865, ASVINA,     15, IBM.ICU.Charset.CalendarTest.THU, 0, 0, 0),
                new TestCase(2448698.5d, 0, 1913, PHALGUNA,   27, IBM.ICU.Charset.CalendarTest.TUE, 0, 0, 0),
                new TestCase(2450138.5d, 0, 1917, PHALGUNA,    6, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
                new TestCase(2465737.5d, 0, 1960, KARTIKA,    19, IBM.ICU.Charset.CalendarTest.WED, 0, 0, 0),
                new TestCase(2486076.5d, 0, 2016, ASADHA,     27, IBM.ICU.Charset.CalendarTest.SUN, 0, 0, 0),
            };

            IndianCalendar testCalendar = new IndianCalendar();

            testCalendar.SetLenient(true);
            DoTestCases(tests, testCalendar);
        }
Beispiel #2
0
        public void TestLimits()
        {
            IBM.ICU.Util.Calendar cal = IBM.ICU.Util.Calendar.GetInstance();
            cal.Set(2007, IBM.ICU.Util.Calendar.JANUARY, 1);
            IndianCalendar indian = new IndianCalendar();

            if (!SkipIfBeforeICU(3, 9, 0))
            {
                DoLimitsTest(indian, null, cal.GetTime());
            }
            DoTheoreticalLimitsTest(indian, true);
        }
Beispiel #3
0
        public void TestBasic()
        {
            IndianCalendar cal = new IndianCalendar();

            cal.Clear();
            cal.Set(1000, 0, 30);
            Logln("1000/0/30-> " + cal.Get(IBM.ICU.Charset.CalendarTest.YEAR) + "/" + cal.Get(IBM.ICU.Charset.CalendarTest.MONTH) + "/"
                  + cal.Get(IBM.ICU.Charset.CalendarTest.DATE));
            cal.Clear();
            cal.Set(1, 0, 30);
            Logln("1/0/30 -> " + cal.Get(IBM.ICU.Charset.CalendarTest.YEAR) + "/" + cal.Get(IBM.ICU.Charset.CalendarTest.MONTH) + "/"
                  + cal.Get(IBM.ICU.Charset.CalendarTest.DATE));
        }
Beispiel #4
0
        public void TestYear()
        {
            // Gregorian Calendar
            IBM.ICU.Util.Calendar gCal = new IBM.ICU.Util.GregorianCalendar();
            DateTime gToday            = gCal.GetTime();

            gCal.Add(IBM.ICU.Util.Calendar.MONTH, 2);
            DateTime   gFuture = gCal.GetTime();
            DateFormat gDF     = IBM.ICU.Text.DateFormat.GetDateInstance(gCal, IBM.ICU.Text.DateFormat.FULL);

            Logln("gregorian calendar: " + gDF.Format(gToday) + " + 2 months = "
                  + gDF.Format(gFuture));

            // Indian Calendar
            IndianCalendar iCal   = new IndianCalendar();
            DateTime       iToday = iCal.GetTime();

            iCal.Add(IBM.ICU.Util.Calendar.MONTH, 2);
            DateTime   iFuture = iCal.GetTime();
            DateFormat iDF     = IBM.ICU.Text.DateFormat.GetDateInstance(iCal, IBM.ICU.Text.DateFormat.FULL);

            Logln("Indian calendar: " + iDF.Format(iToday) + " + 2 months = "
                  + iDF.Format(iFuture));
        }
Beispiel #5
0
        public void TestCoverage()
        {
            {
                // new IndianCalendar(TimeZone)
                IndianCalendar cal = new IndianCalendar(IBM.ICU.Util.TimeZone.GetDefault());
                if (cal == null)
                {
                    Errln("could not create IndianCalendar with TimeZone");
                }
            }

            {
                // new IndianCalendar(ULocale)
                IndianCalendar cal_0 = new IndianCalendar(IBM.ICU.Util.ULocale.GetDefault());
                if (cal_0 == null)
                {
                    Errln("could not create IndianCalendar with ULocale");
                }
            }

            {
                // new IndianCalendar(Locale)
                IndianCalendar cal_1 = new IndianCalendar(ILOG.J2CsMapping.Util.Locale.GetDefault());
                if (cal_1 == null)
                {
                    Errln("could not create IndianCalendar with Locale");
                }
            }

            {
                // new IndianCalendar(TimeZone, Locale)
                IndianCalendar cal_2 = new IndianCalendar(IBM.ICU.Util.TimeZone.GetDefault(),
                                                          ILOG.J2CsMapping.Util.Locale.GetDefault());
                if (cal_2 == null)
                {
                    Errln("could not create IndianCalendar with TimeZone, Locale");
                }
            }

            {
                // new IndianCalendar(TimeZone, ULocale)
                IndianCalendar cal_3 = new IndianCalendar(IBM.ICU.Util.TimeZone.GetDefault(),
                                                          IBM.ICU.Util.ULocale.GetDefault());
                if (cal_3 == null)
                {
                    Errln("could not create IndianCalendar with TimeZone, ULocale");
                }
            }

            {
                // new IndianCalendar(Date)
                IndianCalendar cal_4 = new IndianCalendar(DateTime.Now);
                if (cal_4 == null)
                {
                    Errln("could not create IndianCalendar with Date");
                }
            }
            {
                // new IndianCalendar(int year, int month, int date)
                IndianCalendar cal_5 = new IndianCalendar(1917,
                                                          IBM.ICU.Util.IndianCalendar.CHAITRA, 1);
                if (cal_5 == null)
                {
                    Errln("could not create IndianCalendar with year,month,date");
                }
            }
            {
                // new IndianCalendar(int year, int month, int date, int hour, int
                // minute, int second)
                IndianCalendar cal_6 = new IndianCalendar(1917,
                                                          IBM.ICU.Util.IndianCalendar.CHAITRA, 1, 1, 1, 1);
                if (cal_6 == null)
                {
                    Errln("could not create IndianCalendar with year,month,date,hour,minute,second");
                }
            }

            {
                // data
                IndianCalendar cal_7           = new IndianCalendar(-1039, 9, 21);
                String[]       calendarLocales = { "bn_IN", "gu_IN", "hi_IN", "kn_IN",
                                                   "ml_IN",       "or_IN", "pa_IN", "ta_IN", "te_IN" };

                String[] formatLocales = { "en", "fr", "bn", "gu", "hi", "kn",
                                           "ml", "or", "pa", "ta", "te" };

                for (int i = 0; i < calendarLocales.Length; ++i)
                {
                    String calLocName = calendarLocales[i];
                    ILOG.J2CsMapping.Util.Locale calLocale = IBM.ICU.Impl.LocaleUtility.GetLocaleFromName(calLocName);
                    cal_7 = new IndianCalendar(calLocale);

                    for (int j = 0; j < formatLocales.Length; j++)
                    {
                        String locName = formatLocales[j];
                        ILOG.J2CsMapping.Util.Locale formatLocale = IBM.ICU.Impl.LocaleUtility
                                                                    .GetLocaleFromName(locName);
                        DateFormat format = IBM.ICU.Text.DateFormat.GetDateTimeInstance(cal_7,
                                                                                        IBM.ICU.Text.DateFormat.FULL, IBM.ICU.Text.DateFormat.FULL, formatLocale);
                        // logln(calLocName + "/" + locName + " --> " +
                        // format.format(time));
                    }
                }
            }
        }