]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_8_1_1/main/tests/core/src/com/ibm/icu/dev/test/serializable/CalendarTests.java
Added flags.
[Dictionary.git] / jars / icu4j-4_8_1_1 / main / tests / core / src / com / ibm / icu / dev / test / serializable / CalendarTests.java
1 /*
2  *******************************************************************************
3  * Copyright (C) 1996-2007, International Business Machines Corporation and    *
4  * others. All Rights Reserved.                                                *
5  *******************************************************************************
6  *
7  */
8
9 package com.ibm.icu.dev.test.serializable;
10
11 import java.util.Locale;
12
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;
25
26 /**
27  * @author emader
28  *
29  * TODO To change the template for this generated type comment go to
30  * Window - Preferences - Java - Code Style - Code Templates
31  */
32 public class CalendarTests
33 {
34     static class CalendarHandler implements SerializableTest.Handler
35     {
36         public Object[] getTestObjects()
37         {
38             Locale locales[] = SerializableTest.getLocales();
39             TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
40             Calendar calendars[] = new Calendar[locales.length];
41             
42             for (int i = 0; i < locales.length; i += 1) {
43                 calendars[i] = Calendar.getInstance(pst, locales[i]);
44             }
45             
46             return calendars;
47         }
48         
49         public boolean hasSameBehavior(Object a, Object b)
50         {
51             Calendar cal_a = (Calendar) a;
52             Calendar cal_b = (Calendar) b;
53             long now = System.currentTimeMillis();
54             
55             cal_a.setTimeInMillis(now);
56             cal_a.roll(Calendar.MONTH, 1);
57             
58             cal_b.setTimeInMillis(now);
59             cal_b.roll(Calendar.MONTH, 1);
60             
61             return cal_a.getTime().equals(cal_a.getTime());
62         }
63     }
64
65     static class BuddhistCalendarHandler extends CalendarHandler
66     {
67         public Object[] getTestObjects()
68         {
69             Locale locales[] = SerializableTest.getLocales();
70             TimeZone tst = TimeZone.getTimeZone("Asia/Bangkok");
71             BuddhistCalendar calendars[] = new BuddhistCalendar[locales.length];
72             
73             for (int i = 0; i < locales.length; i += 1) {
74                 calendars[i] = new BuddhistCalendar(tst, locales[i]);
75             }
76             
77             return calendars;
78         }
79     }
80     
81     static class ChineseCalendarHandler extends CalendarHandler
82     {
83         public Object[] getTestObjects()
84         {
85             Locale locales[] = SerializableTest.getLocales();
86             TimeZone cst = TimeZone.getTimeZone("Asia/Shanghai");
87             ChineseCalendar calendars[] = new ChineseCalendar[locales.length];
88             
89             for (int i = 0; i < locales.length; i += 1) {
90                 calendars[i] = new ChineseCalendar(cst, locales[i]);
91             }
92             
93             return calendars; 
94         }
95     }
96     
97     static class CopticCalendarHandler extends CalendarHandler
98     {
99         public Object[] getTestObjects()
100         {
101             Locale locales[] = SerializableTest.getLocales();
102             TimeZone ast = TimeZone.getTimeZone("Europe/Athens");
103             CopticCalendar calendars[] = new CopticCalendar[locales.length];
104             
105             for (int i = 0; i < locales.length; i += 1) {
106                 calendars[i] = new CopticCalendar(ast, locales[i]);
107             }
108             
109             return calendars; 
110         }
111     }
112
113     static class EthiopicCalendarHandler extends CalendarHandler
114     {
115         public Object[] getTestObjects()
116         {
117             Locale locales[] = SerializableTest.getLocales();
118             TimeZone ast = TimeZone.getTimeZone("Africa/Addis_Ababa");
119             EthiopicCalendar calendars[] = new EthiopicCalendar[locales.length];
120             
121             for (int i = 0; i < locales.length; i += 1) {
122                 calendars[i] = new EthiopicCalendar(ast, locales[i]);
123             }
124             
125             return calendars; 
126         }
127     }
128
129     static class GregorianCalendarHandler extends CalendarHandler
130     {
131         public Object[] getTestObjects()
132         {
133             Locale locales[] = SerializableTest.getLocales();
134             TimeZone pst = TimeZone.getTimeZone("America/Los_Angeles");
135             GregorianCalendar calendars[] = new GregorianCalendar[locales.length];
136             
137             for (int i = 0; i < locales.length; i += 1) {
138                 calendars[i] = new GregorianCalendar(pst, locales[i]);
139             }
140             
141             return calendars; 
142         }
143     }
144
145     static class HebrewCalendarHandler extends CalendarHandler
146     {
147         public Object[] getTestObjects()
148         {
149             Locale locales[] = SerializableTest.getLocales();
150             TimeZone jst = TimeZone.getTimeZone("Asia/Jerusalem");
151             HebrewCalendar calendars[] = new HebrewCalendar[locales.length];
152             
153             for (int i = 0; i < locales.length; i += 1) {
154                 calendars[i] = new HebrewCalendar(jst, locales[i]);
155             }
156             
157             return calendars; 
158         }
159     }
160     
161     static class IndianCalendarHandler extends CalendarHandler
162     {
163         public Object[] getTestObjects()
164         {
165             Locale locales[] = SerializableTest.getLocales();
166             TimeZone jst = TimeZone.getTimeZone("Asia/Calcutta");
167             IndianCalendar calendars[] = new IndianCalendar[locales.length];
168             
169             for (int i = 0; i < locales.length; i += 1) {
170                 calendars[i] = new IndianCalendar(jst, locales[i]);
171             }
172             
173             return calendars; 
174         }
175     }
176     
177     static class IslamicCalendarHandler extends CalendarHandler
178     {
179         public Object[] getTestObjects() {
180             Locale locales[] = SerializableTest.getLocales();
181             TimeZone cst = TimeZone.getTimeZone("Africa/Cairo");
182             IslamicCalendar calendars[] = new IslamicCalendar[locales.length];
183             
184             for (int i = 0; i < locales.length; i += 1) {
185                 calendars[i] = new IslamicCalendar(cst, locales[i]);
186             }
187             
188             return calendars; 
189         }
190     }
191
192     static class JapaneseCalendarHandler extends CalendarHandler
193     {
194         public Object[] getTestObjects()
195         {
196             Locale locales[] = SerializableTest.getLocales();
197             TimeZone jst = TimeZone.getTimeZone("Asia/Tokyo");
198             JapaneseCalendar calendars[] = new JapaneseCalendar[locales.length];
199             
200             for (int i = 0; i < locales.length; i += 1) {
201                 calendars[i] = new JapaneseCalendar(jst, locales[i]);
202             }
203             
204             return calendars; 
205         }
206     }
207
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];
213             
214             for (int i = 0; i < locales.length; i += 1) {
215                 calendars[i] = new TaiwanCalendar(cst, locales[i]);
216             }
217             
218             return calendars; 
219         }
220     }
221
222     public static void main(String[] args)
223     {
224         //nothing needed yet...
225     }
226 }