1 /*****************************************************************************************
\r
3 * Copyright (C) 1996-2010, International Business Machines
\r
4 * Corporation and others. All Rights Reserved.
\r
8 * Port From: JDK 1.4b1 : java.text.Format.IntlTestDateFormatSymbols
\r
9 * Source File: java/text/format/IntlTestDateFormatSymbols.java
\r
14 @summary test International Date Format Symbols
\r
17 package com.ibm.icu.dev.test.format;
\r
19 import java.util.Locale;
\r
21 import com.ibm.icu.text.DateFormatSymbols;
\r
23 public class IntlTestDateFormatSymbols extends com.ibm.icu.dev.test.TestFmwk
\r
25 public static void main(String[] args) throws Exception {
\r
26 new IntlTestDateFormatSymbols().run(args);
\r
30 public void TestGetMonths()
\r
32 final String[] month;
\r
33 DateFormatSymbols symbol;
\r
35 symbol=new DateFormatSymbols(Locale.getDefault());
\r
37 month=symbol.getMonths();
\r
38 int cnt = month.length;
\r
40 logln("size = " + cnt);
\r
42 for (int i=0; i<cnt; ++i)
\r
48 public void TestGetMonths2()
\r
50 DateFormatSymbols symbol;
\r
51 symbol=new DateFormatSymbols(Locale.getDefault());
\r
53 int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
\r
54 int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
\r
56 for (int i = 0; i < context.length; i++) {
\r
57 for (int j = 0; j < width.length; j++) {
\r
58 String[] month =symbol.getMonths(context[i],width[j]);
\r
59 int cnt = month.length;
\r
61 logln("size = " + cnt);
\r
63 for (int k = 0; k < month.length; k++) {
\r
70 public void TestGetWeekdays2(){
\r
71 DateFormatSymbols symbol;
\r
72 symbol=new DateFormatSymbols(Locale.getDefault());
\r
74 int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
\r
75 int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
\r
77 for (int i = 0; i < context.length; i++) {
\r
78 for (int j = 0; j < width.length; j++) {
\r
79 String[] wd =symbol.getWeekdays(context[i],width[j]);
\r
80 int cnt = wd.length;
\r
82 logln("size = " + cnt);
\r
84 for (int k = 0; k < wd.length; k++) {
\r
92 public void TestGetEraNames(){
\r
93 DateFormatSymbols symbol;
\r
94 symbol=new DateFormatSymbols(Locale.getDefault());
\r
95 String[] s = symbol.getEraNames();
\r
96 for (int i = 0; i < s.length; i++) {
\r
102 // Test the API of DateFormatSymbols; primarily a simple get/set set.
\r
103 public void TestSymbols()
\r
105 DateFormatSymbols fr = new DateFormatSymbols(Locale.FRENCH);
\r
106 DateFormatSymbols fr2 = new DateFormatSymbols(Locale.FRENCH);
\r
108 DateFormatSymbols en = new DateFormatSymbols(Locale.ENGLISH);
\r
110 if(en.equals(fr)) {
\r
111 errln("ERROR: English DateFormatSymbols equal to French");
\r
114 // just do some VERY basic tests to make sure that get/set work
\r
117 final String[] eras = en.getEras();
\r
119 final String[] eras1 = fr.getEras();
\r
120 count = eras.length;
\r
121 if( count != eras1.length) {
\r
122 errln("ERROR: setEras() failed (different size array)");
\r
125 for(int i = 0; i < count; i++) {
\r
126 if(! eras[i].equals(eras1[i])) {
\r
127 errln("ERROR: setEras() failed (different string values)");
\r
133 final String[] months = en.getMonths();
\r
134 fr.setMonths(months);
\r
135 final String[] months1 = fr.getMonths();
\r
136 count = months.length;
\r
137 if( count != months1.length) {
\r
138 errln("ERROR: setMonths() failed (different size array)");
\r
141 for(int i = 0; i < count; i++) {
\r
142 if(! months[i].equals(months1[i])) {
\r
143 errln("ERROR: setMonths() failed (different string values)");
\r
148 final String[] shortMonths = en.getShortMonths();
\r
149 fr.setShortMonths(shortMonths);
\r
150 final String[] shortMonths1 = fr.getShortMonths();
\r
151 count = shortMonths.length;
\r
152 if( count != shortMonths1.length) {
\r
153 errln("ERROR: setShortMonths() failed (different size array)");
\r
156 for(int i = 0; i < count; i++) {
\r
157 if(! shortMonths[i].equals(shortMonths1[i])) {
\r
158 errln("ERROR: setShortMonths() failed (different string values)");
\r
163 final String[] wideMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
164 fr2.setMonths(wideMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
165 final String[] wideMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
166 count = wideMonths.length;
\r
167 if( count != wideMonths1.length) {
\r
168 errln("ERROR: setMonths(FORMAT,WIDE) failed (different size array)");
\r
171 for(int i = 0; i < count; i++) {
\r
172 if(! wideMonths[i].equals(wideMonths1[i])) {
\r
173 errln("ERROR: setMonths(FORMAT,WIDE) failed (different string values)");
\r
178 final String[] abbrMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
179 fr2.setMonths(abbrMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
180 final String[] abbrMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
181 count = abbrMonths.length;
\r
182 if( count != abbrMonths1.length) {
\r
183 errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different size array)");
\r
186 for(int i = 0; i < count; i++) {
\r
187 if(! abbrMonths[i].equals(abbrMonths1[i])) {
\r
188 errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different string values)");
\r
193 final String[] narrowMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
194 fr.setMonths(narrowMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
195 final String[] narrowMonths1 = fr.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
196 count = narrowMonths.length;
\r
197 if( count != narrowMonths1.length) {
\r
198 errln("ERROR: setMonths(FORMAT,NARROW) failed (different size array)");
\r
201 for(int i = 0; i < count; i++) {
\r
202 if(! narrowMonths[i].equals(narrowMonths1[i])) {
\r
203 errln("ERROR: setMonths(FORMAT,NARROW) failed (different string values)");
\r
208 final String[] standaloneMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
209 fr.setMonths(standaloneMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
210 final String[] standaloneMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
211 count = standaloneMonths.length;
\r
212 if( count != standaloneMonths1.length) {
\r
213 errln("ERROR: setMonths(STANDALONE,WIDE) failed (different size array)");
\r
216 for(int i = 0; i < count; i++) {
\r
217 if(! standaloneMonths[i].equals(standaloneMonths1[i])) {
\r
218 errln("ERROR: setMonths(STANDALONE,WIDE) failed (different string values)");
\r
223 final String[] standaloneShortMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
224 fr.setMonths(standaloneShortMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
225 final String[] standaloneShortMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
226 count = standaloneShortMonths.length;
\r
227 if( count != standaloneShortMonths1.length) {
\r
228 errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different size array)");
\r
231 for(int i = 0; i < count; i++) {
\r
232 if(! standaloneShortMonths[i].equals(standaloneShortMonths1[i])) {
\r
233 errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different string values)");
\r
238 final String[] standaloneNarrowMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
239 fr.setMonths(standaloneNarrowMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
240 final String[] standaloneNarrowMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
241 count = standaloneNarrowMonths.length;
\r
242 if( count != standaloneNarrowMonths1.length) {
\r
243 errln("ERROR: setMonths(STANDALONE,NARROW) failed (different size array)");
\r
246 for(int i = 0; i < count; i++) {
\r
247 if(! standaloneNarrowMonths[i].equals(standaloneNarrowMonths1[i])) {
\r
248 errln("ERROR: setMonths(STANDALONE,NARROW) failed (different string values)");
\r
253 final String[] weekdays = en.getWeekdays();
\r
254 fr.setWeekdays(weekdays);
\r
255 final String[] weekdays1 = fr.getWeekdays();
\r
256 count = weekdays.length;
\r
257 if( count != weekdays1.length) {
\r
258 errln("ERROR: setWeekdays() failed (different size array)");
\r
261 for(int i = 0; i < count; i++) {
\r
262 if(! weekdays[i].equals(weekdays1[i])) {
\r
263 errln("ERROR: setWeekdays() failed (different string values)");
\r
268 final String[] shortWeekdays = en.getShortWeekdays();
\r
269 fr.setShortWeekdays(shortWeekdays);
\r
270 final String[] shortWeekdays1 = fr.getShortWeekdays();
\r
271 count = shortWeekdays.length;
\r
272 if( count != shortWeekdays1.length) {
\r
273 errln("ERROR: setShortWeekdays() failed (different size array)");
\r
276 for(int i = 0; i < count; i++) {
\r
277 if(! shortWeekdays[i].equals(shortWeekdays1[i])) {
\r
278 errln("ERROR: setShortWeekdays() failed (different string values)");
\r
283 final String[] wideWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
284 fr2.setWeekdays(wideWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
285 final String[] wideWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
286 count = wideWeekdays.length;
\r
287 if( count != wideWeekdays1.length) {
\r
288 errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different size array)");
\r
291 for(int i = 0; i < count; i++) {
\r
292 if(! wideWeekdays[i].equals(wideWeekdays1[i])) {
\r
293 errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different string values)");
\r
298 final String[] abbrWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
299 fr2.setWeekdays(abbrWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
300 final String[] abbrWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
301 count = abbrWeekdays.length;
\r
302 if( count != abbrWeekdays1.length) {
\r
303 errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different size array)");
\r
306 for(int i = 0; i < count; i++) {
\r
307 if(! abbrWeekdays[i].equals(abbrWeekdays1[i])) {
\r
308 errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different string values)");
\r
313 final String[] narrowWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
314 fr.setWeekdays(narrowWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
315 final String[] narrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
316 count = narrowWeekdays.length;
\r
317 if( count != narrowWeekdays1.length) {
\r
318 errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different size array)");
\r
321 for(int i = 0; i < count; i++) {
\r
322 if(! narrowWeekdays[i].equals(narrowWeekdays1[i])) {
\r
323 errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different string values)");
\r
328 final String[] standaloneWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
329 fr.setWeekdays(standaloneWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
330 final String[] standaloneWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
331 count = standaloneWeekdays.length;
\r
332 if( count != standaloneWeekdays1.length) {
\r
333 errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different size array)");
\r
336 for(int i = 0; i < count; i++) {
\r
337 if(! standaloneWeekdays[i].equals(standaloneWeekdays1[i])) {
\r
338 errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different string values)");
\r
343 final String[] standaloneShortWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
344 fr.setWeekdays(standaloneShortWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
345 final String[] standaloneShortWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
346 count = standaloneShortWeekdays.length;
\r
347 if( count != standaloneShortWeekdays1.length) {
\r
348 errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different size array)");
\r
351 for(int i = 0; i < count; i++) {
\r
352 if(! standaloneShortWeekdays[i].equals(standaloneShortWeekdays1[i])) {
\r
353 errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different string values)");
\r
358 final String[] standaloneNarrowWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
359 fr.setWeekdays(standaloneNarrowWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
360 final String[] standaloneNarrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
361 count = standaloneNarrowWeekdays.length;
\r
362 if( count != standaloneNarrowWeekdays1.length) {
\r
363 errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different size array)");
\r
366 for(int i = 0; i < count; i++) {
\r
367 if(! standaloneNarrowWeekdays[i].equals(standaloneNarrowWeekdays1[i])) {
\r
368 errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different string values)");
\r
373 final String[] wideQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
374 fr2.setQuarters(wideQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
375 final String[] wideQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
376 count = wideQuarters.length;
\r
377 if( count != wideQuarters1.length) {
\r
378 errln("ERROR: setQuarters(FORMAT, WIDE) failed (different size array)");
\r
381 for(int i = 0; i < count; i++) {
\r
382 if(! wideQuarters[i].equals(wideQuarters1[i])) {
\r
383 errln("ERROR: setQuarters(FORMAT, WIDE) failed (different string values)");
\r
388 final String[] abbrQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
389 fr2.setQuarters(abbrQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
390 final String[] abbrQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
391 count = abbrQuarters.length;
\r
392 if( count != abbrQuarters1.length) {
\r
393 errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different size array)");
\r
396 for(int i = 0; i < count; i++) {
\r
397 if(! abbrQuarters[i].equals(abbrQuarters1[i])) {
\r
398 errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different string values)");
\r
403 final String[] standaloneQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
404 fr.setQuarters(standaloneQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
405 final String[] standaloneQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
406 count = standaloneQuarters.length;
\r
407 if( count != standaloneQuarters1.length) {
\r
408 errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different size array)");
\r
411 for(int i = 0; i < count; i++) {
\r
412 if(! standaloneQuarters[i].equals(standaloneQuarters1[i])) {
\r
413 errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different string values)");
\r
418 final String[] standaloneShortQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
419 fr.setQuarters(standaloneShortQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
420 final String[] standaloneShortQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
421 count = standaloneShortQuarters.length;
\r
422 if( count != standaloneShortQuarters1.length) {
\r
423 errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different size array)");
\r
426 for(int i = 0; i < count; i++) {
\r
427 if(! standaloneShortQuarters[i].equals(standaloneShortQuarters1[i])) {
\r
428 errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different string values)");
\r
433 final String[] ampms = en.getAmPmStrings();
\r
434 fr.setAmPmStrings(ampms);
\r
435 final String[] ampms1 = fr.getAmPmStrings();
\r
436 count = ampms.length;
\r
437 if( count != ampms1.length) {
\r
438 errln("ERROR: setAmPmStrings() failed (different size array)");
\r
441 for(int i = 0; i < count; i++) {
\r
442 if(! ampms[i].equals(ampms1[i])) {
\r
443 errln("ERROR: setAmPmStrings() failed (different string values)");
\r
448 long rowCount = 0, columnCount = 0;
\r
449 final String[][] strings = en.getZoneStrings();
\r
450 fr.setZoneStrings(strings);
\r
451 final String[][] strings1 = fr.getZoneStrings();
\r
452 rowCount = strings.length;
\r
453 for(int i = 0; i < rowCount; i++) {
\r
454 columnCount = strings[i].length;
\r
455 for(int j = 0; j < columnCount; j++) {
\r
456 if( strings[i][j] != strings1[i][j] ) {
\r
457 errln("ERROR: setZoneStrings() failed");
\r
462 // final String pattern = DateFormatSymbols.getPatternChars();
\r
464 String localPattern; // pat1, pat2; //The variable is never used
\r
465 localPattern = en.getLocalPatternChars();
\r
466 fr.setLocalPatternChars(localPattern);
\r
467 if(! en.getLocalPatternChars().equals(fr.getLocalPatternChars())) {
\r
468 errln("ERROR: setLocalPatternChars() failed");
\r
472 //DateFormatSymbols foo = new DateFormatSymbols(); //The variable is never used
\r
474 en = (DateFormatSymbols) fr.clone();
\r
476 if(! en.equals(fr)) {
\r
477 errln("ERROR: Clone failed");
\r