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