1 /*****************************************************************************************
\r
3 * Copyright (C) 1996-2006, 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 com.ibm.icu.text.*;
\r
20 import java.util.Locale;
\r
22 public class IntlTestDateFormatSymbols extends com.ibm.icu.dev.test.TestFmwk
\r
24 public static void main(String[] args) throws Exception {
\r
25 new IntlTestDateFormatSymbols().run(args);
\r
29 public void TestGetMonths()
\r
31 final String[] month;
\r
32 DateFormatSymbols symbol;
\r
34 symbol=new DateFormatSymbols(Locale.getDefault());
\r
36 month=symbol.getMonths();
\r
37 int cnt = month.length;
\r
39 logln("size = " + cnt);
\r
41 for (int i=0; i<cnt; ++i)
\r
47 public void TestGetMonths2()
\r
49 DateFormatSymbols symbol;
\r
50 symbol=new DateFormatSymbols(Locale.getDefault());
\r
52 int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
\r
53 int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
\r
55 for (int i = 0; i < context.length; i++) {
\r
56 for (int j = 0; j < width.length; j++) {
\r
57 String[] month =symbol.getMonths(context[i],width[j]);
\r
58 int cnt = month.length;
\r
60 logln("size = " + cnt);
\r
62 for (int k = 0; k < month.length; k++) {
\r
69 public void TestGetWeekdays2(){
\r
70 DateFormatSymbols symbol;
\r
71 symbol=new DateFormatSymbols(Locale.getDefault());
\r
73 int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};
\r
74 int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};
\r
76 for (int i = 0; i < context.length; i++) {
\r
77 for (int j = 0; j < width.length; j++) {
\r
78 String[] wd =symbol.getWeekdays(context[i],width[j]);
\r
79 int cnt = wd.length;
\r
81 logln("size = " + cnt);
\r
83 for (int k = 0; k < wd.length; k++) {
\r
91 public void TestGetEraNames(){
\r
92 DateFormatSymbols symbol;
\r
93 symbol=new DateFormatSymbols(Locale.getDefault());
\r
94 String[] s = symbol.getEraNames();
\r
95 for (int i = 0; i < s.length; i++) {
\r
101 // Test the API of DateFormatSymbols; primarily a simple get/set set.
\r
102 public void TestSymbols()
\r
104 DateFormatSymbols fr = new DateFormatSymbols(Locale.FRENCH);
\r
105 DateFormatSymbols fr2 = new DateFormatSymbols(Locale.FRENCH);
\r
107 DateFormatSymbols en = new DateFormatSymbols(Locale.ENGLISH);
\r
109 if(en.equals(fr)) {
\r
110 errln("ERROR: English DateFormatSymbols equal to French");
\r
113 // just do some VERY basic tests to make sure that get/set work
\r
116 final String[] eras = en.getEras();
\r
118 final String[] eras1 = fr.getEras();
\r
119 count = eras.length;
\r
120 if( count != eras1.length) {
\r
121 errln("ERROR: setEras() failed (different size array)");
\r
124 for(int i = 0; i < count; i++) {
\r
125 if(! eras[i].equals(eras1[i])) {
\r
126 errln("ERROR: setEras() failed (different string values)");
\r
132 final String[] months = en.getMonths();
\r
133 fr.setMonths(months);
\r
134 final String[] months1 = fr.getMonths();
\r
135 count = months.length;
\r
136 if( count != months1.length) {
\r
137 errln("ERROR: setMonths() failed (different size array)");
\r
140 for(int i = 0; i < count; i++) {
\r
141 if(! months[i].equals(months1[i])) {
\r
142 errln("ERROR: setMonths() failed (different string values)");
\r
147 final String[] shortMonths = en.getShortMonths();
\r
148 fr.setShortMonths(shortMonths);
\r
149 final String[] shortMonths1 = fr.getShortMonths();
\r
150 count = shortMonths.length;
\r
151 if( count != shortMonths1.length) {
\r
152 errln("ERROR: setShortMonths() failed (different size array)");
\r
155 for(int i = 0; i < count; i++) {
\r
156 if(! shortMonths[i].equals(shortMonths1[i])) {
\r
157 errln("ERROR: setShortMonths() failed (different string values)");
\r
162 final String[] wideMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
163 fr2.setMonths(wideMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
164 final String[] wideMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
165 count = wideMonths.length;
\r
166 if( count != wideMonths1.length) {
\r
167 errln("ERROR: setMonths(FORMAT,WIDE) failed (different size array)");
\r
170 for(int i = 0; i < count; i++) {
\r
171 if(! wideMonths[i].equals(wideMonths1[i])) {
\r
172 errln("ERROR: setMonths(FORMAT,WIDE) failed (different string values)");
\r
177 final String[] abbrMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
178 fr2.setMonths(abbrMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
179 final String[] abbrMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
180 count = abbrMonths.length;
\r
181 if( count != abbrMonths1.length) {
\r
182 errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different size array)");
\r
185 for(int i = 0; i < count; i++) {
\r
186 if(! abbrMonths[i].equals(abbrMonths1[i])) {
\r
187 errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different string values)");
\r
192 final String[] narrowMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
193 fr.setMonths(narrowMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
194 final String[] narrowMonths1 = fr.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
195 count = narrowMonths.length;
\r
196 if( count != narrowMonths1.length) {
\r
197 errln("ERROR: setMonths(FORMAT,NARROW) failed (different size array)");
\r
200 for(int i = 0; i < count; i++) {
\r
201 if(! narrowMonths[i].equals(narrowMonths1[i])) {
\r
202 errln("ERROR: setMonths(FORMAT,NARROW) failed (different string values)");
\r
207 final String[] standaloneMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
208 fr.setMonths(standaloneMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
209 final String[] standaloneMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
210 count = standaloneMonths.length;
\r
211 if( count != standaloneMonths1.length) {
\r
212 errln("ERROR: setMonths(STANDALONE,WIDE) failed (different size array)");
\r
215 for(int i = 0; i < count; i++) {
\r
216 if(! standaloneMonths[i].equals(standaloneMonths1[i])) {
\r
217 errln("ERROR: setMonths(STANDALONE,WIDE) failed (different string values)");
\r
222 final String[] standaloneShortMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
223 fr.setMonths(standaloneShortMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
224 final String[] standaloneShortMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
225 count = standaloneShortMonths.length;
\r
226 if( count != standaloneShortMonths1.length) {
\r
227 errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different size array)");
\r
230 for(int i = 0; i < count; i++) {
\r
231 if(! standaloneShortMonths[i].equals(standaloneShortMonths1[i])) {
\r
232 errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different string values)");
\r
237 final String[] standaloneNarrowMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
238 fr.setMonths(standaloneNarrowMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
239 final String[] standaloneNarrowMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
240 count = standaloneNarrowMonths.length;
\r
241 if( count != standaloneNarrowMonths1.length) {
\r
242 errln("ERROR: setMonths(STANDALONE,NARROW) failed (different size array)");
\r
245 for(int i = 0; i < count; i++) {
\r
246 if(! standaloneNarrowMonths[i].equals(standaloneNarrowMonths1[i])) {
\r
247 errln("ERROR: setMonths(STANDALONE,NARROW) failed (different string values)");
\r
252 final String[] weekdays = en.getWeekdays();
\r
253 fr.setWeekdays(weekdays);
\r
254 final String[] weekdays1 = fr.getWeekdays();
\r
255 count = weekdays.length;
\r
256 if( count != weekdays1.length) {
\r
257 errln("ERROR: setWeekdays() failed (different size array)");
\r
260 for(int i = 0; i < count; i++) {
\r
261 if(! weekdays[i].equals(weekdays1[i])) {
\r
262 errln("ERROR: setWeekdays() failed (different string values)");
\r
267 final String[] shortWeekdays = en.getShortWeekdays();
\r
268 fr.setShortWeekdays(shortWeekdays);
\r
269 final String[] shortWeekdays1 = fr.getShortWeekdays();
\r
270 count = shortWeekdays.length;
\r
271 if( count != shortWeekdays1.length) {
\r
272 errln("ERROR: setShortWeekdays() failed (different size array)");
\r
275 for(int i = 0; i < count; i++) {
\r
276 if(! shortWeekdays[i].equals(shortWeekdays1[i])) {
\r
277 errln("ERROR: setShortWeekdays() failed (different string values)");
\r
282 final String[] wideWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
283 fr2.setWeekdays(wideWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
284 final String[] wideWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
285 count = wideWeekdays.length;
\r
286 if( count != wideWeekdays1.length) {
\r
287 errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different size array)");
\r
290 for(int i = 0; i < count; i++) {
\r
291 if(! wideWeekdays[i].equals(wideWeekdays1[i])) {
\r
292 errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different string values)");
\r
297 final String[] abbrWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
298 fr2.setWeekdays(abbrWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
299 final String[] abbrWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
300 count = abbrWeekdays.length;
\r
301 if( count != abbrWeekdays1.length) {
\r
302 errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different size array)");
\r
305 for(int i = 0; i < count; i++) {
\r
306 if(! abbrWeekdays[i].equals(abbrWeekdays1[i])) {
\r
307 errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different string values)");
\r
312 final String[] narrowWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
313 fr.setWeekdays(narrowWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
314 final String[] narrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);
\r
315 count = narrowWeekdays.length;
\r
316 if( count != narrowWeekdays1.length) {
\r
317 errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different size array)");
\r
320 for(int i = 0; i < count; i++) {
\r
321 if(! narrowWeekdays[i].equals(narrowWeekdays1[i])) {
\r
322 errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different string values)");
\r
327 final String[] standaloneWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
328 fr.setWeekdays(standaloneWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
329 final String[] standaloneWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
330 count = standaloneWeekdays.length;
\r
331 if( count != standaloneWeekdays1.length) {
\r
332 errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different size array)");
\r
335 for(int i = 0; i < count; i++) {
\r
336 if(! standaloneWeekdays[i].equals(standaloneWeekdays1[i])) {
\r
337 errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different string values)");
\r
342 final String[] standaloneShortWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
343 fr.setWeekdays(standaloneShortWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
344 final String[] standaloneShortWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
345 count = standaloneShortWeekdays.length;
\r
346 if( count != standaloneShortWeekdays1.length) {
\r
347 errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different size array)");
\r
350 for(int i = 0; i < count; i++) {
\r
351 if(! standaloneShortWeekdays[i].equals(standaloneShortWeekdays1[i])) {
\r
352 errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different string values)");
\r
357 final String[] standaloneNarrowWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
358 fr.setWeekdays(standaloneNarrowWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
359 final String[] standaloneNarrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);
\r
360 count = standaloneNarrowWeekdays.length;
\r
361 if( count != standaloneNarrowWeekdays1.length) {
\r
362 errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different size array)");
\r
365 for(int i = 0; i < count; i++) {
\r
366 if(! standaloneNarrowWeekdays[i].equals(standaloneNarrowWeekdays1[i])) {
\r
367 errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different string values)");
\r
372 final String[] wideQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
373 fr2.setQuarters(wideQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
374 final String[] wideQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);
\r
375 count = wideQuarters.length;
\r
376 if( count != wideQuarters1.length) {
\r
377 errln("ERROR: setQuarters(FORMAT, WIDE) failed (different size array)");
\r
380 for(int i = 0; i < count; i++) {
\r
381 if(! wideQuarters[i].equals(wideQuarters1[i])) {
\r
382 errln("ERROR: setQuarters(FORMAT, WIDE) failed (different string values)");
\r
387 final String[] abbrQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
388 fr2.setQuarters(abbrQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
389 final String[] abbrQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);
\r
390 count = abbrQuarters.length;
\r
391 if( count != abbrQuarters1.length) {
\r
392 errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different size array)");
\r
395 for(int i = 0; i < count; i++) {
\r
396 if(! abbrQuarters[i].equals(abbrQuarters1[i])) {
\r
397 errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different string values)");
\r
402 final String[] standaloneQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
403 fr.setQuarters(standaloneQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
404 final String[] standaloneQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);
\r
405 count = standaloneQuarters.length;
\r
406 if( count != standaloneQuarters1.length) {
\r
407 errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different size array)");
\r
410 for(int i = 0; i < count; i++) {
\r
411 if(! standaloneQuarters[i].equals(standaloneQuarters1[i])) {
\r
412 errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different string values)");
\r
417 final String[] standaloneShortQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
418 fr.setQuarters(standaloneShortQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
419 final String[] standaloneShortQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);
\r
420 count = standaloneShortQuarters.length;
\r
421 if( count != standaloneShortQuarters1.length) {
\r
422 errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different size array)");
\r
425 for(int i = 0; i < count; i++) {
\r
426 if(! standaloneShortQuarters[i].equals(standaloneShortQuarters1[i])) {
\r
427 errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different string values)");
\r
432 final String[] ampms = en.getAmPmStrings();
\r
433 fr.setAmPmStrings(ampms);
\r
434 final String[] ampms1 = fr.getAmPmStrings();
\r
435 count = ampms.length;
\r
436 if( count != ampms1.length) {
\r
437 errln("ERROR: setAmPmStrings() failed (different size array)");
\r
440 for(int i = 0; i < count; i++) {
\r
441 if(! ampms[i].equals(ampms1[i])) {
\r
442 errln("ERROR: setAmPmStrings() failed (different string values)");
\r
447 long rowCount = 0, columnCount = 0;
\r
448 final String[][] strings = en.getZoneStrings();
\r
449 fr.setZoneStrings(strings);
\r
450 final String[][] strings1 = fr.getZoneStrings();
\r
451 rowCount = strings.length;
\r
452 for(int i = 0; i < rowCount; i++) {
\r
453 columnCount = strings[i].length;
\r
454 for(int j = 0; j < columnCount; j++) {
\r
455 if( strings[i][j] != strings1[i][j] ) {
\r
456 errln("ERROR: setZoneStrings() failed");
\r
461 // final String pattern = DateFormatSymbols.getPatternChars();
\r
463 String localPattern; // pat1, pat2; //The variable is never used
\r
464 localPattern = en.getLocalPatternChars();
\r
465 fr.setLocalPatternChars(localPattern);
\r
466 if(! en.getLocalPatternChars().equals(fr.getLocalPatternChars())) {
\r
467 errln("ERROR: setLocalPatternChars() failed");
\r
471 //DateFormatSymbols foo = new DateFormatSymbols(); //The variable is never used
\r
473 en = (DateFormatSymbols) fr.clone();
\r
475 if(! en.equals(fr)) {
\r
476 errln("ERROR: Clone failed");
\r