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
|