2 *******************************************************************************
3 * Copyright (C) 1996-2012, 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.DangiCalendar;
18 import com.ibm.icu.util.EthiopicCalendar;
19 import com.ibm.icu.util.GregorianCalendar;
20 import com.ibm.icu.util.HebrewCalendar;
21 import com.ibm.icu.util.IndianCalendar;
22 import com.ibm.icu.util.IslamicCalendar;
23 import com.ibm.icu.util.JapaneseCalendar;
24 import com.ibm.icu.util.PersianCalendar;
25 import com.ibm.icu.util.TaiwanCalendar;
26 import com.ibm.icu.util.TimeZone;
27 import com.ibm.icu.util.ULocale;
32 * TODO To change the template for this generated type comment go to
33 * Window - Preferences - Java - Code Style - Code Templates
35 public class CalendarTests
37 static class CalendarHandler implements SerializableTest.Handler
39 public Object[] getTestObjects()
41 Locale locales[] = SerializableTest.getLocales();
42 TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
43 Calendar calendars[] = new Calendar[locales.length];
45 for (int i = 0; i < locales.length; i += 1) {
46 calendars[i] = Calendar.getInstance(pst, locales[i]);
52 public boolean hasSameBehavior(Object a, Object b)
54 Calendar cal_a = (Calendar) a;
55 Calendar cal_b = (Calendar) b;
56 long now = System.currentTimeMillis();
58 cal_a.setTimeInMillis(now);
59 cal_a.roll(Calendar.MONTH, 1);
61 cal_b.setTimeInMillis(now);
62 cal_b.roll(Calendar.MONTH, 1);
64 return cal_a.getTime().equals(cal_a.getTime());
68 static class BuddhistCalendarHandler extends CalendarHandler
70 public Object[] getTestObjects()
72 Locale locales[] = SerializableTest.getLocales();
73 TimeZone tst = TimeZone.getTimeZone("Asia/Bangkok");
74 BuddhistCalendar calendars[] = new BuddhistCalendar[locales.length];
76 for (int i = 0; i < locales.length; i += 1) {
77 calendars[i] = new BuddhistCalendar(tst, locales[i]);
84 static class ChineseCalendarHandler extends CalendarHandler
86 public Object[] getTestObjects()
88 Locale locales[] = SerializableTest.getLocales();
89 TimeZone cst = TimeZone.getTimeZone("Asia/Shanghai");
90 ChineseCalendar calendars[] = new ChineseCalendar[locales.length];
92 for (int i = 0; i < locales.length; i += 1) {
93 calendars[i] = new ChineseCalendar(cst, locales[i]);
100 static class CopticCalendarHandler extends CalendarHandler
102 public Object[] getTestObjects()
104 Locale locales[] = SerializableTest.getLocales();
105 TimeZone ast = TimeZone.getTimeZone("Europe/Athens");
106 CopticCalendar calendars[] = new CopticCalendar[locales.length];
108 for (int i = 0; i < locales.length; i += 1) {
109 calendars[i] = new CopticCalendar(ast, locales[i]);
116 static class DangiCalendarHandler extends CalendarHandler
118 public Object[] getTestObjects()
120 Locale locales[] = SerializableTest.getLocales();
121 TimeZone kst = TimeZone.getTimeZone("Asia/Seoul");
122 DangiCalendar calendars[] = new DangiCalendar[locales.length];
124 for (int i = 0; i < locales.length; i += 1) {
125 calendars[i] = new DangiCalendar(kst, ULocale.forLocale(locales[i]));
132 static class EthiopicCalendarHandler extends CalendarHandler
134 public Object[] getTestObjects()
136 Locale locales[] = SerializableTest.getLocales();
137 TimeZone ast = TimeZone.getTimeZone("Africa/Addis_Ababa");
138 EthiopicCalendar calendars[] = new EthiopicCalendar[locales.length];
140 for (int i = 0; i < locales.length; i += 1) {
141 calendars[i] = new EthiopicCalendar(ast, locales[i]);
148 static class GregorianCalendarHandler extends CalendarHandler
150 public Object[] getTestObjects()
152 Locale locales[] = SerializableTest.getLocales();
153 TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
154 GregorianCalendar calendars[] = new GregorianCalendar[locales.length];
156 for (int i = 0; i < locales.length; i += 1) {
157 calendars[i] = new GregorianCalendar(pst, locales[i]);
164 static class HebrewCalendarHandler extends CalendarHandler
166 public Object[] getTestObjects()
168 Locale locales[] = SerializableTest.getLocales();
169 TimeZone jst = TimeZone.getTimeZone("Asia/Jerusalem");
170 HebrewCalendar calendars[] = new HebrewCalendar[locales.length];
172 for (int i = 0; i < locales.length; i += 1) {
173 calendars[i] = new HebrewCalendar(jst, locales[i]);
180 static class IndianCalendarHandler extends CalendarHandler
182 public Object[] getTestObjects()
184 Locale locales[] = SerializableTest.getLocales();
185 TimeZone jst = TimeZone.getTimeZone("Asia/Calcutta");
186 IndianCalendar calendars[] = new IndianCalendar[locales.length];
188 for (int i = 0; i < locales.length; i += 1) {
189 calendars[i] = new IndianCalendar(jst, locales[i]);
196 static class IslamicCalendarHandler extends CalendarHandler
198 public Object[] getTestObjects() {
199 Locale locales[] = SerializableTest.getLocales();
200 TimeZone cst = TimeZone.getTimeZone("Africa/Cairo");
201 IslamicCalendar calendars[] = new IslamicCalendar[locales.length];
203 for (int i = 0; i < locales.length; i += 1) {
204 calendars[i] = new IslamicCalendar(cst, locales[i]);
211 static class JapaneseCalendarHandler extends CalendarHandler
213 public Object[] getTestObjects()
215 Locale locales[] = SerializableTest.getLocales();
216 TimeZone jst = TimeZone.getTimeZone("Asia/Tokyo");
217 JapaneseCalendar calendars[] = new JapaneseCalendar[locales.length];
219 for (int i = 0; i < locales.length; i += 1) {
220 calendars[i] = new JapaneseCalendar(jst, locales[i]);
227 static class PersianCalendarHandler extends CalendarHandler
229 public Object[] getTestObjects()
231 Locale locales[] = SerializableTest.getLocales();
232 TimeZone kst = TimeZone.getTimeZone("Asia/Tehran");
233 PersianCalendar calendars[] = new PersianCalendar[locales.length];
235 for (int i = 0; i < locales.length; i += 1) {
236 calendars[i] = new PersianCalendar(kst, ULocale.forLocale(locales[i]));
243 static class TaiwanCalendarHandler extends CalendarHandler {
244 public Object[] getTestObjects() {
245 Locale locales[] = SerializableTest.getLocales();
246 TimeZone cst = TimeZone.getTimeZone("Asia/Shanghai");
247 TaiwanCalendar calendars[] = new TaiwanCalendar[locales.length];
249 for (int i = 0; i < locales.length; i += 1) {
250 calendars[i] = new TaiwanCalendar(cst, locales[i]);
257 public static void main(String[] args)
259 //nothing needed yet...