test/java/time/test/java/time/format/TestZoneTextPrinterParser.java

Print this page




 121          ZoneId.of("EST", ZoneId.SHORT_IDS),
 122          ZoneId.of("CET"),
 123          ZoneId.of("Australia/South"),
 124          ZoneId.of("Australia/West"),
 125          ZoneId.of("Asia/Shanghai"),
 126     }));
 127 
 128     private static Set<ZoneId> none = new HashSet<>();
 129 
 130     @DataProvider(name="preferredZones")
 131     Object[][] data_preferredZones() {
 132         return new Object[][] {
 133             {"America/New_York", "Eastern Standard Time", none,      Locale.ENGLISH, TextStyle.FULL},
 134 //          {"EST",              "Eastern Standard Time", preferred, Locale.ENGLISH, TextStyle.FULL},
 135             {"Europe/Paris",     "Central European Time", none,      Locale.ENGLISH, TextStyle.FULL},
 136             {"CET",              "Central European Time", preferred, Locale.ENGLISH, TextStyle.FULL},
 137             {"Asia/Shanghai",    "China Standard Time",   none,      Locale.ENGLISH, TextStyle.FULL},
 138             {"Asia/Taipei",      "China Standard Time",   preferred, Locale.ENGLISH, TextStyle.FULL},
 139             {"America/Chicago",  "CST",                   none,      Locale.ENGLISH, TextStyle.SHORT},
 140             {"Asia/Taipei",      "CST",                   preferred, Locale.ENGLISH, TextStyle.SHORT},
 141             {"Australia/South",  "CST",                   preferred_s, Locale.ENGLISH, TextStyle.SHORT},
 142             {"America/Chicago",  "CDT",                   none,        Locale.ENGLISH, TextStyle.SHORT},
 143             {"Asia/Shanghai",    "CDT",                   preferred_s, Locale.ENGLISH, TextStyle.SHORT},
 144        };
 145     }
 146 
 147     @Test(dataProvider="preferredZones")
 148     public void test_ParseText(String expected, String text, Set<ZoneId> preferred, Locale locale, TextStyle style) {
 149         DateTimeFormatter fmt = new DateTimeFormatterBuilder().appendZoneText(style, preferred)
 150                                                               .toFormatter(locale)
 151                                                               .withDecimalStyle(DecimalStyle.of(locale));
 152 
 153         String ret = fmt.parse(text, TemporalQueries.zone()).getId();
 154 
 155         System.out.printf("[%-5s %s] %24s -> %s(%s)%n",
 156                           locale.toString(),
 157                           style == TextStyle.FULL ? " full" :"short",
 158                           text, ret, expected);
 159 
 160         assertEquals(ret, expected);
 161 




 121          ZoneId.of("EST", ZoneId.SHORT_IDS),
 122          ZoneId.of("CET"),
 123          ZoneId.of("Australia/South"),
 124          ZoneId.of("Australia/West"),
 125          ZoneId.of("Asia/Shanghai"),
 126     }));
 127 
 128     private static Set<ZoneId> none = new HashSet<>();
 129 
 130     @DataProvider(name="preferredZones")
 131     Object[][] data_preferredZones() {
 132         return new Object[][] {
 133             {"America/New_York", "Eastern Standard Time", none,      Locale.ENGLISH, TextStyle.FULL},
 134 //          {"EST",              "Eastern Standard Time", preferred, Locale.ENGLISH, TextStyle.FULL},
 135             {"Europe/Paris",     "Central European Time", none,      Locale.ENGLISH, TextStyle.FULL},
 136             {"CET",              "Central European Time", preferred, Locale.ENGLISH, TextStyle.FULL},
 137             {"Asia/Shanghai",    "China Standard Time",   none,      Locale.ENGLISH, TextStyle.FULL},
 138             {"Asia/Taipei",      "China Standard Time",   preferred, Locale.ENGLISH, TextStyle.FULL},
 139             {"America/Chicago",  "CST",                   none,      Locale.ENGLISH, TextStyle.SHORT},
 140             {"Asia/Taipei",      "CST",                   preferred, Locale.ENGLISH, TextStyle.SHORT},
 141             {"Australia/South",  "ACST",                  preferred_s, Locale.ENGLISH, TextStyle.SHORT},
 142             {"America/Chicago",  "CDT",                   none,        Locale.ENGLISH, TextStyle.SHORT},
 143             {"Asia/Shanghai",    "CDT",                   preferred_s, Locale.ENGLISH, TextStyle.SHORT},
 144        };
 145     }
 146 
 147     @Test(dataProvider="preferredZones")
 148     public void test_ParseText(String expected, String text, Set<ZoneId> preferred, Locale locale, TextStyle style) {
 149         DateTimeFormatter fmt = new DateTimeFormatterBuilder().appendZoneText(style, preferred)
 150                                                               .toFormatter(locale)
 151                                                               .withDecimalStyle(DecimalStyle.of(locale));
 152 
 153         String ret = fmt.parse(text, TemporalQueries.zone()).getId();
 154 
 155         System.out.printf("[%-5s %s] %24s -> %s(%s)%n",
 156                           locale.toString(),
 157                           style == TextStyle.FULL ? " full" :"short",
 158                           text, ret, expected);
 159 
 160         assertEquals(ret, expected);
 161