2 *******************************************************************************
\r
3 * Copyright (C) 1996-2007, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
9 package com.ibm.icu.dev.test.serializable;
\r
11 import java.util.Locale;
\r
13 import com.ibm.icu.util.BuddhistCalendar;
\r
14 import com.ibm.icu.util.Calendar;
\r
15 import com.ibm.icu.util.ChineseCalendar;
\r
16 import com.ibm.icu.util.CopticCalendar;
\r
17 import com.ibm.icu.util.EthiopicCalendar;
\r
18 import com.ibm.icu.util.GregorianCalendar;
\r
19 import com.ibm.icu.util.HebrewCalendar;
\r
20 import com.ibm.icu.util.IndianCalendar;
\r
21 import com.ibm.icu.util.IslamicCalendar;
\r
22 import com.ibm.icu.util.JapaneseCalendar;
\r
23 import com.ibm.icu.util.TaiwanCalendar;
\r
24 import com.ibm.icu.util.TimeZone;
\r
29 * TODO To change the template for this generated type comment go to
\r
30 * Window - Preferences - Java - Code Style - Code Templates
\r
32 public class CalendarTests
\r
34 static class CalendarHandler implements SerializableTest.Handler
\r
36 public Object[] getTestObjects()
\r
38 Locale locales[] = SerializableTest.getLocales();
\r
39 TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
\r
40 Calendar calendars[] = new Calendar[locales.length];
\r
42 for (int i = 0; i < locales.length; i += 1) {
\r
43 calendars[i] = Calendar.getInstance(pst, locales[i]);
\r
49 public boolean hasSameBehavior(Object a, Object b)
\r
51 Calendar cal_a = (Calendar) a;
\r
52 Calendar cal_b = (Calendar) b;
\r
53 long now = System.currentTimeMillis();
\r
55 cal_a.setTimeInMillis(now);
\r
56 cal_a.roll(Calendar.MONTH, 1);
\r
58 cal_b.setTimeInMillis(now);
\r
59 cal_b.roll(Calendar.MONTH, 1);
\r
61 return cal_a.getTime().equals(cal_a.getTime());
\r
65 static class BuddhistCalendarHandler extends CalendarHandler
\r
67 public Object[] getTestObjects()
\r
69 Locale locales[] = SerializableTest.getLocales();
\r
70 TimeZone tst = TimeZone.getTimeZone("Asia/Bangkok");
\r
71 BuddhistCalendar calendars[] = new BuddhistCalendar[locales.length];
\r
73 for (int i = 0; i < locales.length; i += 1) {
\r
74 calendars[i] = new BuddhistCalendar(tst, locales[i]);
\r
81 static class ChineseCalendarHandler extends CalendarHandler
\r
83 public Object[] getTestObjects()
\r
85 Locale locales[] = SerializableTest.getLocales();
\r
86 TimeZone cst = TimeZone.getTimeZone("Asia/Shanghai");
\r
87 ChineseCalendar calendars[] = new ChineseCalendar[locales.length];
\r
89 for (int i = 0; i < locales.length; i += 1) {
\r
90 calendars[i] = new ChineseCalendar(cst, locales[i]);
\r
97 static class CopticCalendarHandler extends CalendarHandler
\r
99 public Object[] getTestObjects()
\r
101 Locale locales[] = SerializableTest.getLocales();
\r
102 TimeZone ast = TimeZone.getTimeZone("Europe/Athens");
\r
103 CopticCalendar calendars[] = new CopticCalendar[locales.length];
\r
105 for (int i = 0; i < locales.length; i += 1) {
\r
106 calendars[i] = new CopticCalendar(ast, locales[i]);
\r
113 static class EthiopicCalendarHandler extends CalendarHandler
\r
115 public Object[] getTestObjects()
\r
117 Locale locales[] = SerializableTest.getLocales();
\r
118 TimeZone ast = TimeZone.getTimeZone("Africa/Addis_Ababa");
\r
119 EthiopicCalendar calendars[] = new EthiopicCalendar[locales.length];
\r
121 for (int i = 0; i < locales.length; i += 1) {
\r
122 calendars[i] = new EthiopicCalendar(ast, locales[i]);
\r
129 static class GregorianCalendarHandler extends CalendarHandler
\r
131 public Object[] getTestObjects()
\r
133 Locale locales[] = SerializableTest.getLocales();
\r
134 TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
\r
135 GregorianCalendar calendars[] = new GregorianCalendar[locales.length];
\r
137 for (int i = 0; i < locales.length; i += 1) {
\r
138 calendars[i] = new GregorianCalendar(pst, locales[i]);
\r
145 static class HebrewCalendarHandler extends CalendarHandler
\r
147 public Object[] getTestObjects()
\r
149 Locale locales[] = SerializableTest.getLocales();
\r
150 TimeZone jst = TimeZone.getTimeZone("Asia/Jerusalem");
\r
151 HebrewCalendar calendars[] = new HebrewCalendar[locales.length];
\r
153 for (int i = 0; i < locales.length; i += 1) {
\r
154 calendars[i] = new HebrewCalendar(jst, locales[i]);
\r
161 static class IndianCalendarHandler extends CalendarHandler
\r
163 public Object[] getTestObjects()
\r
165 Locale locales[] = SerializableTest.getLocales();
\r
166 TimeZone jst = TimeZone.getTimeZone("Asia/Calcutta");
\r
167 IndianCalendar calendars[] = new IndianCalendar[locales.length];
\r
169 for (int i = 0; i < locales.length; i += 1) {
\r
170 calendars[i] = new IndianCalendar(jst, locales[i]);
\r
177 static class IslamicCalendarHandler extends CalendarHandler
\r
179 public Object[] getTestObjects() {
\r
180 Locale locales[] = SerializableTest.getLocales();
\r
181 TimeZone cst = TimeZone.getTimeZone("Africa/Cairo");
\r
182 IslamicCalendar calendars[] = new IslamicCalendar[locales.length];
\r
184 for (int i = 0; i < locales.length; i += 1) {
\r
185 calendars[i] = new IslamicCalendar(cst, locales[i]);
\r
192 static class JapaneseCalendarHandler extends CalendarHandler
\r
194 public Object[] getTestObjects()
\r
196 Locale locales[] = SerializableTest.getLocales();
\r
197 TimeZone jst = TimeZone.getTimeZone("Asia/Tokyo");
\r
198 JapaneseCalendar calendars[] = new JapaneseCalendar[locales.length];
\r
200 for (int i = 0; i < locales.length; i += 1) {
\r
201 calendars[i] = new JapaneseCalendar(jst, locales[i]);
\r
208 static class TaiwanCalendarHandler extends CalendarHandler {
\r
209 public Object[] getTestObjects() {
\r
210 Locale locales[] = SerializableTest.getLocales();
\r
211 TimeZone cst = TimeZone.getTimeZone("Asia/Shanghai");
\r
212 TaiwanCalendar calendars[] = new TaiwanCalendar[locales.length];
\r
214 for (int i = 0; i < locales.length; i += 1) {
\r
215 calendars[i] = new TaiwanCalendar(cst, locales[i]);
\r
222 public static void main(String[] args)
\r
224 //nothing needed yet...
\r