< prev index next >

test/jdk/java/time/tck/java/time/chrono/TCKJapaneseChronology.java

Print this page
rev 54350 : 8205432: Replace the placeholder Japanese era name
Reviewed-by: rriggs
rev 54351 : 8174268: Declare a public field in JapaneseEra for the era starting May 2019
Reviewed-by: rriggs


 159     @Test
 160     public void test_chrono_byLocale_oldJP_variant() {
 161         Chronology test = Chronology.ofLocale(new Locale("ja", "JP", "JP"));
 162         Assert.assertEquals(test.getId(), "Japanese");
 163         Assert.assertEquals(test, JapaneseChronology.INSTANCE);
 164     }
 165 
 166     @Test
 167     public void test_chrono_byLocale_iso() {
 168         Assert.assertEquals(Chronology.ofLocale(new Locale("ja", "JP")).getId(), "ISO");
 169         Assert.assertEquals(Chronology.ofLocale(Locale.forLanguageTag("ja-JP")).getId(), "ISO");
 170         Assert.assertEquals(Chronology.ofLocale(Locale.forLanguageTag("ja-JP-JP")).getId(), "ISO");
 171     }
 172 
 173     //-----------------------------------------------------------------------
 174     // creation and cross-checks
 175     //-----------------------------------------------------------------------
 176     @DataProvider(name="createByEra")
 177     Object[][] data_createByEra() {
 178         return new Object[][] {
 179                 {JapaneseEra.of(3), 2020 - YDIFF_REIWA, 2, 29, 60, LocalDate.of(2020, 2, 29)},
 180                 {JapaneseEra.HEISEI, 1996 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(1996, 2, 29)},
 181                 {JapaneseEra.HEISEI, 2000 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(2000, 2, 29)},
 182                 {JapaneseEra.MEIJI, 1874 - YDIFF_MEIJI, 2, 28, 59, LocalDate.of(1874, 2, 28)},
 183                 {JapaneseEra.SHOWA, 1928 - YDIFF_SHOWA, 12, 25, 360, LocalDate.of(1928, 12, 25)},
 184                 {JapaneseEra.TAISHO, 1916 - YDIFF_TAISHO, 7, 30, 212, LocalDate.of(1916, 7, 30)},
 185                 {JapaneseEra.MEIJI, 6, 1, 1, 1, LocalDate.of(1873, 1, 1)},
 186                 {JapaneseEra.MEIJI, 45, 7, 29, 211, LocalDate.of(1912, 7, 29)},
 187                 {JapaneseEra.TAISHO, 1, 7, 30, 1, LocalDate.of(1912, 7, 30)},
 188                 {JapaneseEra.TAISHO, 15, 12, 24, 358, LocalDate.of(1926, 12, 24)},
 189                 {JapaneseEra.SHOWA, 1, 12, 25, 1, LocalDate.of(1926, 12, 25)},
 190                 {JapaneseEra.SHOWA, 64, 1, 7, 7, LocalDate.of(1989, 1, 7)},
 191                 {JapaneseEra.HEISEI, 1, 1, 8, 1, LocalDate.of(1989, 1, 8)},
 192         };
 193     }
 194 
 195     @Test(dataProvider="createByEra")
 196     public void test_createEymd(JapaneseEra era, int yoe, int moy, int dom, int doy, LocalDate iso) {
 197         JapaneseDate dateByChronoFactory = JapaneseChronology.INSTANCE.date(era, yoe, moy, dom);
 198         JapaneseDate dateByDateFactory = JapaneseDate.of(era, yoe, moy, dom);
 199         assertEquals(dateByChronoFactory, dateByDateFactory);


 352 
 353             {1725, 2, 29},
 354             {500, 2, 29},
 355             {2100, 2, 29},
 356 
 357             {1872, 12, 31},     // Last day of MEIJI 5
 358         };
 359     }
 360 
 361     @Test(dataProvider="badDates", expectedExceptions=DateTimeException.class)
 362     public void test_badDates(int year, int month, int dom) {
 363         JapaneseChronology.INSTANCE.date(year, month, dom);
 364     }
 365 
 366     //-----------------------------------------------------------------------
 367     // prolepticYear() and is LeapYear()
 368     //-----------------------------------------------------------------------
 369     @DataProvider(name="prolepticYear")
 370     Object[][] data_prolepticYear() {
 371         return new Object[][] {
 372                 {3, JapaneseEra.of(3), 1, 1 + YDIFF_REIWA, false},
 373                 {3, JapaneseEra.of(3), 102, 102 + YDIFF_REIWA, true},
 374 
 375                 {2, JapaneseEra.HEISEI, 1, 1 + YDIFF_HEISEI, false},
 376                 {2, JapaneseEra.HEISEI, 4, 4 + YDIFF_HEISEI, true},
 377 
 378                 {-1, JapaneseEra.MEIJI, 9, 9 + YDIFF_MEIJI, true},
 379                 {-1, JapaneseEra.MEIJI, 10, 10 + YDIFF_MEIJI, false},
 380 
 381                 {1, JapaneseEra.SHOWA, 1, 1 + YDIFF_SHOWA, false},
 382                 {1, JapaneseEra.SHOWA, 7, 7 + YDIFF_SHOWA, true},
 383 
 384                 {0, JapaneseEra.TAISHO, 1, 1 + YDIFF_TAISHO, true},
 385                 {0, JapaneseEra.TAISHO, 4, 4 + YDIFF_TAISHO, false},
 386         };
 387     }
 388 
 389     @Test(dataProvider="prolepticYear")
 390     public void test_prolepticYear(int eraValue, Era  era, int yearOfEra, int expectedProlepticYear, boolean isLeapYear) {
 391         Era eraObj = JapaneseChronology.INSTANCE.eraOf(eraValue);
 392         assertTrue(JapaneseChronology.INSTANCE.eras().contains(eraObj));
 393         assertEquals(eraObj, era);


 538         assertEquals(test, LocalDate.of(1928, 10, 29));
 539     }
 540 
 541     @Test
 542     public void test_LocalDateTime_adjustToJapaneseDate() {
 543         JapaneseDate jdate = JapaneseChronology.INSTANCE.date(1928, 10, 29);
 544         LocalDateTime test = LocalDateTime.MIN.with(jdate);
 545         assertEquals(test, LocalDateTime.of(1928, 10, 29, 0, 0));
 546     }
 547 
 548     //-----------------------------------------------------------------------
 549     // Check Japanese Eras
 550     //-----------------------------------------------------------------------
 551     @DataProvider(name="japaneseEras")
 552     Object[][] data_japanseseEras() {
 553         return new Object[][] {
 554             { JapaneseEra.MEIJI, -1, "Meiji"},
 555             { JapaneseEra.TAISHO, 0, "Taisho"},
 556             { JapaneseEra.SHOWA, 1, "Showa"},
 557             { JapaneseEra.HEISEI, 2, "Heisei"},
 558             { JapaneseEra.of(3), 3, "Reiwa"},
 559         };
 560     }
 561 
 562     @Test(dataProvider="japaneseEras")
 563     public void test_Japanese_Eras(Era era, int eraValue, String name) {
 564         assertEquals(era.getValue(), eraValue, "EraValue");
 565         assertEquals(era.toString(), name, "Era Name");
 566         assertEquals(era, JapaneseChronology.INSTANCE.eraOf(eraValue), "JapaneseChronology.eraOf()");
 567         List<Era> eras = JapaneseChronology.INSTANCE.eras();
 568         assertTrue(eras.contains(era), "Era is not present in JapaneseChronology.INSTANCE.eras()");
 569     }
 570 
 571     @Test
 572     public void test_Japanese_badEras() {
 573         int badEras[] = {-1000, -998, -997, -2, 4, 5, 1000};
 574         for (int badEra : badEras) {
 575             try {
 576                 Era era = JapaneseChronology.INSTANCE.eraOf(badEra);
 577                 fail("JapaneseChronology.eraOf returned " + era + " + for invalid eraValue " + badEra);
 578             } catch (DateTimeException ex) {




 159     @Test
 160     public void test_chrono_byLocale_oldJP_variant() {
 161         Chronology test = Chronology.ofLocale(new Locale("ja", "JP", "JP"));
 162         Assert.assertEquals(test.getId(), "Japanese");
 163         Assert.assertEquals(test, JapaneseChronology.INSTANCE);
 164     }
 165 
 166     @Test
 167     public void test_chrono_byLocale_iso() {
 168         Assert.assertEquals(Chronology.ofLocale(new Locale("ja", "JP")).getId(), "ISO");
 169         Assert.assertEquals(Chronology.ofLocale(Locale.forLanguageTag("ja-JP")).getId(), "ISO");
 170         Assert.assertEquals(Chronology.ofLocale(Locale.forLanguageTag("ja-JP-JP")).getId(), "ISO");
 171     }
 172 
 173     //-----------------------------------------------------------------------
 174     // creation and cross-checks
 175     //-----------------------------------------------------------------------
 176     @DataProvider(name="createByEra")
 177     Object[][] data_createByEra() {
 178         return new Object[][] {
 179                 {JapaneseEra.REIWA, 2020 - YDIFF_REIWA, 2, 29, 60, LocalDate.of(2020, 2, 29)},
 180                 {JapaneseEra.HEISEI, 1996 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(1996, 2, 29)},
 181                 {JapaneseEra.HEISEI, 2000 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(2000, 2, 29)},
 182                 {JapaneseEra.MEIJI, 1874 - YDIFF_MEIJI, 2, 28, 59, LocalDate.of(1874, 2, 28)},
 183                 {JapaneseEra.SHOWA, 1928 - YDIFF_SHOWA, 12, 25, 360, LocalDate.of(1928, 12, 25)},
 184                 {JapaneseEra.TAISHO, 1916 - YDIFF_TAISHO, 7, 30, 212, LocalDate.of(1916, 7, 30)},
 185                 {JapaneseEra.MEIJI, 6, 1, 1, 1, LocalDate.of(1873, 1, 1)},
 186                 {JapaneseEra.MEIJI, 45, 7, 29, 211, LocalDate.of(1912, 7, 29)},
 187                 {JapaneseEra.TAISHO, 1, 7, 30, 1, LocalDate.of(1912, 7, 30)},
 188                 {JapaneseEra.TAISHO, 15, 12, 24, 358, LocalDate.of(1926, 12, 24)},
 189                 {JapaneseEra.SHOWA, 1, 12, 25, 1, LocalDate.of(1926, 12, 25)},
 190                 {JapaneseEra.SHOWA, 64, 1, 7, 7, LocalDate.of(1989, 1, 7)},
 191                 {JapaneseEra.HEISEI, 1, 1, 8, 1, LocalDate.of(1989, 1, 8)},
 192         };
 193     }
 194 
 195     @Test(dataProvider="createByEra")
 196     public void test_createEymd(JapaneseEra era, int yoe, int moy, int dom, int doy, LocalDate iso) {
 197         JapaneseDate dateByChronoFactory = JapaneseChronology.INSTANCE.date(era, yoe, moy, dom);
 198         JapaneseDate dateByDateFactory = JapaneseDate.of(era, yoe, moy, dom);
 199         assertEquals(dateByChronoFactory, dateByDateFactory);


 352 
 353             {1725, 2, 29},
 354             {500, 2, 29},
 355             {2100, 2, 29},
 356 
 357             {1872, 12, 31},     // Last day of MEIJI 5
 358         };
 359     }
 360 
 361     @Test(dataProvider="badDates", expectedExceptions=DateTimeException.class)
 362     public void test_badDates(int year, int month, int dom) {
 363         JapaneseChronology.INSTANCE.date(year, month, dom);
 364     }
 365 
 366     //-----------------------------------------------------------------------
 367     // prolepticYear() and is LeapYear()
 368     //-----------------------------------------------------------------------
 369     @DataProvider(name="prolepticYear")
 370     Object[][] data_prolepticYear() {
 371         return new Object[][] {
 372                 {3, JapaneseEra.REIWA, 1, 1 + YDIFF_REIWA, false},
 373                 {3, JapaneseEra.REIWA, 102, 102 + YDIFF_REIWA, true},
 374 
 375                 {2, JapaneseEra.HEISEI, 1, 1 + YDIFF_HEISEI, false},
 376                 {2, JapaneseEra.HEISEI, 4, 4 + YDIFF_HEISEI, true},
 377 
 378                 {-1, JapaneseEra.MEIJI, 9, 9 + YDIFF_MEIJI, true},
 379                 {-1, JapaneseEra.MEIJI, 10, 10 + YDIFF_MEIJI, false},
 380 
 381                 {1, JapaneseEra.SHOWA, 1, 1 + YDIFF_SHOWA, false},
 382                 {1, JapaneseEra.SHOWA, 7, 7 + YDIFF_SHOWA, true},
 383 
 384                 {0, JapaneseEra.TAISHO, 1, 1 + YDIFF_TAISHO, true},
 385                 {0, JapaneseEra.TAISHO, 4, 4 + YDIFF_TAISHO, false},
 386         };
 387     }
 388 
 389     @Test(dataProvider="prolepticYear")
 390     public void test_prolepticYear(int eraValue, Era  era, int yearOfEra, int expectedProlepticYear, boolean isLeapYear) {
 391         Era eraObj = JapaneseChronology.INSTANCE.eraOf(eraValue);
 392         assertTrue(JapaneseChronology.INSTANCE.eras().contains(eraObj));
 393         assertEquals(eraObj, era);


 538         assertEquals(test, LocalDate.of(1928, 10, 29));
 539     }
 540 
 541     @Test
 542     public void test_LocalDateTime_adjustToJapaneseDate() {
 543         JapaneseDate jdate = JapaneseChronology.INSTANCE.date(1928, 10, 29);
 544         LocalDateTime test = LocalDateTime.MIN.with(jdate);
 545         assertEquals(test, LocalDateTime.of(1928, 10, 29, 0, 0));
 546     }
 547 
 548     //-----------------------------------------------------------------------
 549     // Check Japanese Eras
 550     //-----------------------------------------------------------------------
 551     @DataProvider(name="japaneseEras")
 552     Object[][] data_japanseseEras() {
 553         return new Object[][] {
 554             { JapaneseEra.MEIJI, -1, "Meiji"},
 555             { JapaneseEra.TAISHO, 0, "Taisho"},
 556             { JapaneseEra.SHOWA, 1, "Showa"},
 557             { JapaneseEra.HEISEI, 2, "Heisei"},
 558             { JapaneseEra.REIWA, 3, "Reiwa"},
 559         };
 560     }
 561 
 562     @Test(dataProvider="japaneseEras")
 563     public void test_Japanese_Eras(Era era, int eraValue, String name) {
 564         assertEquals(era.getValue(), eraValue, "EraValue");
 565         assertEquals(era.toString(), name, "Era Name");
 566         assertEquals(era, JapaneseChronology.INSTANCE.eraOf(eraValue), "JapaneseChronology.eraOf()");
 567         List<Era> eras = JapaneseChronology.INSTANCE.eras();
 568         assertTrue(eras.contains(era), "Era is not present in JapaneseChronology.INSTANCE.eras()");
 569     }
 570 
 571     @Test
 572     public void test_Japanese_badEras() {
 573         int badEras[] = {-1000, -998, -997, -2, 4, 5, 1000};
 574         for (int badEra : badEras) {
 575             try {
 576                 Era era = JapaneseChronology.INSTANCE.eraOf(badEra);
 577                 fail("JapaneseChronology.eraOf returned " + era + " + for invalid eraValue " + badEra);
 578             } catch (DateTimeException ex) {


< prev index next >