Пример #1
0
        public void Test5345calendar()
        {
            Logln("** testIncompleteCalendar()");
            // Test calendar with incomplete information
            IBM.ICU.Util.JapaneseCalendar c = new IBM.ICU.Util.JapaneseCalendar(IBM.ICU.Util.TimeZone.GetDefault());
            Logln("test clear");
            c.Clear();

            int[] expected0 = { IBM.ICU.Util.Calendar.ERA,  234,
                                IBM.ICU.Util.Calendar.YEAR, 45 };
            CheckExpected(c, expected0);

            Logln("test setting era");
            c.Clear();
            c.Set(IBM.ICU.Util.Calendar.ERA, IBM.ICU.Util.JapaneseCalendar.MEIJI);

            int[] expectedA = { IBM.ICU.Util.Calendar.ERA,
                                IBM.ICU.Util.JapaneseCalendar.MEIJI };
            CheckExpected(c, expectedA);

            Logln("test setting era and year and month and date");
            c.Clear();
            c.Set(IBM.ICU.Util.Calendar.ERA, IBM.ICU.Util.JapaneseCalendar.MEIJI);
            c.Set(IBM.ICU.Util.Calendar.YEAR, 1);
            c.Set(IBM.ICU.Util.Calendar.MONTH, IBM.ICU.Util.Calendar.JANUARY);
            c.Set(IBM.ICU.Util.Calendar.DATE, 1);

            int[] expectedC = { IBM.ICU.Util.Calendar.ERA,
                                IBM.ICU.Util.JapaneseCalendar.MEIJI - 1 };
            CheckExpected(c, expectedC);

            Logln("test setting  year and month and date THEN era");
            c.Clear();
            c.Set(IBM.ICU.Util.Calendar.YEAR, 1);
            c.Set(IBM.ICU.Util.Calendar.MONTH, IBM.ICU.Util.Calendar.JANUARY);
            c.Set(IBM.ICU.Util.Calendar.DATE, 1);
            c.Set(IBM.ICU.Util.Calendar.ERA, IBM.ICU.Util.JapaneseCalendar.MEIJI);

            CheckExpected(c, expectedC);

            Logln("test setting era and year");
            c.Clear();
            c.Set(IBM.ICU.Util.Calendar.YEAR, 1);
            c.Set(IBM.ICU.Util.Calendar.ERA, IBM.ICU.Util.JapaneseCalendar.MEIJI);

            int[] expectedB = { IBM.ICU.Util.Calendar.ERA,
                                IBM.ICU.Util.JapaneseCalendar.MEIJI,
                                IBM.ICU.Util.Calendar.YEAR, 1 };
            CheckExpected(c, expectedB);
        }
Пример #2
0
        public void Test3860()
        {
            ULocale loc = new ULocale("ja_JP@calendar=japanese");

            IBM.ICU.Util.Calendar cal       = new IBM.ICU.Util.JapaneseCalendar(loc);
            DateFormat            enjformat = cal.GetDateTimeFormat(0, 0, new ULocale(
                                                                        "en_JP@calendar=japanese"));
            DateFormat format = cal.GetDateTimeFormat(0, 0, loc);

            ((SimpleDateFormat)format).ApplyPattern("y.M.d"); // Note: just 'y'
            // doesn't work here.
            ILOG.J2CsMapping.Text.ParsePosition pos = new ILOG.J2CsMapping.Text.ParsePosition(0);
            DateTime aDate = format.Parse("1.1.9", pos); // after the start of heisei
            // accession. Jan 1, 1H
            // wouldn't work because it is
            // actually showa 64
            String inEn = enjformat.Format(aDate);

            cal.Clear();
            cal.SetTime(aDate);
            int gotYear = cal.Get(IBM.ICU.Util.Calendar.YEAR);
            int gotEra  = cal.Get(IBM.ICU.Util.Calendar.ERA);

            int expectYear = 1;
            int expectEra  = IBM.ICU.Util.JapaneseCalendar.CURRENT_ERA;

            if ((gotYear != expectYear) || (gotEra != expectEra))
            {
                Errln("Expected year " + expectYear + ", era " + expectEra
                      + ", but got year " + gotYear + " and era " + gotEra
                      + ", == " + inEn);
            }
            else
            {
                Logln("Got year " + gotYear + " and era " + gotEra + ", == " + inEn);
            }
        }