]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base.tests/src/com/ibm/icu/tests/CalendarTest.java
go
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / dev / eclipse / plugins / com.ibm.icu.base.tests / src / com / ibm / icu / tests / CalendarTest.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 2006-2008, International Business Machines Corporation and    *\r
4  * others. All Rights Reserved.                                                *\r
5  *******************************************************************************\r
6  */\r
7 \r
8 package com.ibm.icu.tests;\r
9 \r
10 import java.util.Date;\r
11 import java.util.Locale;\r
12 \r
13 import com.ibm.icu.text.DateFormat;\r
14 import com.ibm.icu.util.Calendar;\r
15 import com.ibm.icu.util.TimeZone;\r
16 import com.ibm.icu.util.ULocale;\r
17 \r
18 public class CalendarTest extends ICUTestCase {\r
19 \r
20     /*\r
21      * Test method for 'com.ibm.icu.util.Calendar.hashCode()'\r
22      */\r
23     public void testHashCode() {\r
24         Calendar cal1 = Calendar.getInstance();\r
25         Calendar cal2 = Calendar.getInstance();\r
26         Calendar cal3 = Calendar.getInstance();\r
27         cal3.setMinimalDaysInFirstWeek(cal3.getMinimalDaysInFirstWeek()+1);\r
28         testEHCS(cal1, cal2, cal3);\r
29     }\r
30 \r
31     /*\r
32      * Test method for 'com.ibm.icu.util.Calendar.Calendar(Calendar)'\r
33      */\r
34     public void testCalendar() {\r
35         // tested implicitly everywhere\r
36     }\r
37 \r
38     /*\r
39      * Test method for 'com.ibm.icu.util.Calendar.getInstance()'\r
40      */\r
41     public void testGetInstance() {\r
42         // tested by testEHCS\r
43     }\r
44 \r
45     /*\r
46      * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone)'\r
47      */\r
48     public void testGetInstanceTimeZone() {\r
49         TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");\r
50         Calendar cal = Calendar.getInstance(tz);\r
51         assertNotNull(cal);\r
52         assertNotNull(cal.getTime());\r
53         assertEquals(tz, cal.getTimeZone());\r
54     }\r
55 \r
56     /*\r
57      * Test method for 'com.ibm.icu.util.Calendar.getInstance(Locale)'\r
58      */\r
59     public void testGetInstanceLocale() {\r
60         Calendar cal = Calendar.getInstance(Locale.US);\r
61         assertNotNull(cal);\r
62         assertNotNull(cal.getTime());\r
63     }\r
64 \r
65     /*\r
66      * Test method for 'com.ibm.icu.util.Calendar.getInstance(ULocale)'\r
67      */\r
68     public void testGetInstanceULocale() {\r
69         Calendar cal = Calendar.getInstance(ULocale.US);\r
70         assertNotNull(cal);\r
71         assertNotNull(cal.getTime());\r
72     }\r
73 \r
74     /*\r
75      * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone, Locale)'\r
76      */\r
77     public void testGetInstanceTimeZoneLocale() {\r
78         TimeZone tz = TimeZone.getTimeZone("America/New_York");\r
79         Calendar cal = Calendar.getInstance(tz, Locale.US);\r
80         assertNotNull(cal);\r
81         assertNotNull(cal.getTime());\r
82     }\r
83 \r
84     /*\r
85      * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone, ULocale)'\r
86      */\r
87     public void testGetInstanceTimeZoneULocale() {\r
88         TimeZone tz = TimeZone.getTimeZone("America/New_York");\r
89         Calendar cal = Calendar.getInstance(tz, ULocale.US);\r
90         assertNotNull(cal);\r
91         assertNotNull(cal.getTime());\r
92     }\r
93 \r
94     /*\r
95      * Test method for 'com.ibm.icu.util.Calendar.getAvailableLocales()'\r
96      */\r
97     public void testGetAvailableLocales() {\r
98         assertNotNull(Calendar.getAvailableLocales());\r
99     }\r
100 \r
101     /*\r
102      * Test method for 'com.ibm.icu.util.Calendar.getAvailableULocales()'\r
103      */\r
104     public void testGetAvailableULocales() {\r
105         assertNotNull(Calendar.getAvailableULocales());\r
106     }\r
107 \r
108     /*\r
109      * Test method for 'com.ibm.icu.util.Calendar.getTime()'\r
110      */\r
111     public void testGetTime() {\r
112         Calendar cal = Calendar.getInstance();\r
113         assertNotNull(cal.getTime());\r
114     }\r
115 \r
116     /*\r
117      * Test method for 'com.ibm.icu.util.Calendar.setTime(Date)'\r
118      */\r
119     public void testSetTime() {\r
120         Calendar cal = Calendar.getInstance();\r
121         cal.clear();\r
122         cal.set(2006, 0, 20, 9, 30, 0);\r
123         Date date = cal.getTime();\r
124         cal = Calendar.getInstance();\r
125         cal.setTime(date);\r
126         assertEquals(date, cal.getTime());\r
127     }\r
128 \r
129     /*\r
130      * Test method for 'com.ibm.icu.util.Calendar.getTimeInMillis()'\r
131      */\r
132     public void testGetTimeInMillis() {\r
133         Calendar cal = Calendar.getInstance();\r
134         assertTrue(0 != cal.getTimeInMillis());\r
135     }\r
136 \r
137     /*\r
138      * Test method for 'com.ibm.icu.util.Calendar.setTimeInMillis(long)'\r
139      */\r
140     public void testSetTimeInMillis() {\r
141         Calendar cal = Calendar.getInstance();\r
142         cal.clear();\r
143         cal.set(2006, 0, 20, 9, 30, 0);\r
144         long millis = cal.getTimeInMillis();\r
145         Date date = cal.getTime();\r
146         \r
147         cal = Calendar.getInstance();\r
148         cal.setTimeInMillis(millis);\r
149         \r
150         assertEquals(date, cal.getTime());\r
151     }\r
152 \r
153     /*\r
154      * Test method for 'com.ibm.icu.util.Calendar.get(int)'\r
155      */\r
156     public void testGet() {\r
157         Calendar cal = Calendar.getInstance();\r
158         cal.clear();\r
159         cal.set(2006, 0, 20, 9, 30, 0);\r
160         assertEquals(0, cal.get(Calendar.MONTH));\r
161         assertEquals(20, cal.get(Calendar.DAY_OF_MONTH));\r
162         assertEquals(30, cal.get(Calendar.MINUTE));\r
163     }\r
164 \r
165     /*\r
166      * Test method for 'com.ibm.icu.util.Calendar.set(int, int)'\r
167      */\r
168     public void testSetIntInt() {\r
169         Calendar cal = Calendar.getInstance();\r
170         cal.set(Calendar.YEAR, 1977);\r
171         assertEquals(1977, cal.get(Calendar.YEAR));\r
172     }\r
173 \r
174     /*\r
175      * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int)'\r
176      */\r
177     public void testSetIntIntInt() {\r
178         Calendar cal = Calendar.getInstance();\r
179         cal.set(1997, 9, 15);\r
180         assertEquals(15, cal.get(Calendar.DATE));\r
181     }\r
182 \r
183     /*\r
184      * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int, int, int)'\r
185      */\r
186     public void testSetIntIntIntIntInt() {\r
187         Calendar cal = Calendar.getInstance();\r
188         cal.set(1997, 9, 15, 14, 25);\r
189         assertEquals(25, cal.get(Calendar.MINUTE));\r
190     }\r
191 \r
192     /*\r
193      * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int, int, int, int)'\r
194      */\r
195     public void testSetIntIntIntIntIntInt() {\r
196         Calendar cal = Calendar.getInstance();\r
197         cal.set(1997, 9, 15, 14, 25, 51);\r
198         assertEquals(51, cal.get(Calendar.SECOND));\r
199     }\r
200 \r
201     /*\r
202      * Test method for 'com.ibm.icu.util.Calendar.clear()'\r
203      */\r
204     public void testClear() {\r
205         Calendar cal = Calendar.getInstance();\r
206         cal.set(1997, 9, 15, 14, 25, 51);\r
207         cal.clear();\r
208         assertEquals(0, cal.get(Calendar.MONTH));\r
209     }\r
210 \r
211     /*\r
212      * Test method for 'com.ibm.icu.util.Calendar.clear(int)'\r
213      */\r
214     public void testClearInt() {\r
215         Calendar cal = Calendar.getInstance();\r
216         cal.set(1997, 9, 15, 14, 25, 51);\r
217         assertTrue(cal.isSet(Calendar.DAY_OF_MONTH));\r
218         cal.clear(Calendar.DAY_OF_MONTH);\r
219         assertFalse(cal.isSet(Calendar.DAY_OF_MONTH));\r
220     }\r
221 \r
222     /*\r
223      * Test method for 'com.ibm.icu.util.Calendar.isSet(int)'\r
224      */\r
225     public void testIsSet() {\r
226         // see testClearInt\r
227     }\r
228 \r
229     /*\r
230      * Test method for 'com.ibm.icu.util.Calendar.equals(Object)'\r
231      */\r
232     public void testEqualsObject() {\r
233         // tested by testHashCode\r
234     }\r
235 \r
236     /*\r
237      * Test method for 'com.ibm.icu.util.Calendar.isEquivalentTo(Calendar)'\r
238      */\r
239     public void testIsEquivalentTo() {\r
240         Calendar cal = Calendar.getInstance();\r
241         Calendar cal2 = Calendar.getInstance();\r
242         cal2.set(1994, 6, 21, 8, 7);\r
243         assertTrue(cal.isEquivalentTo(cal2));\r
244         cal.setTimeZone(TimeZone.getTimeZone("CST"));\r
245         cal2.setTimeZone(TimeZone.getTimeZone("PDT"));\r
246         assertFalse(cal.isEquivalentTo(cal2));\r
247     }\r
248 \r
249     /*\r
250      * Test method for 'com.ibm.icu.util.Calendar.before(Object)'\r
251      */\r
252     public void testBefore() {\r
253         Calendar cal = Calendar.getInstance();\r
254         cal.set(Calendar.YEAR, 1990);\r
255         assertTrue(cal.before(new Date()));\r
256         assertTrue(cal.before(Calendar.getInstance()));\r
257     }\r
258 \r
259     /*\r
260      * Test method for 'com.ibm.icu.util.Calendar.after(Object)'\r
261      */\r
262     public void testAfter() {\r
263         Calendar cal = Calendar.getInstance();\r
264         cal.set(Calendar.YEAR, 3058);\r
265         assertTrue(cal.after(new Date()));\r
266         assertTrue(cal.after(Calendar.getInstance()));\r
267     }\r
268 \r
269     /*\r
270      * Test method for 'com.ibm.icu.util.Calendar.getActualMaximum(int)'\r
271      */\r
272     public void testGetActualMaximum() {\r
273         Calendar cal = Calendar.getInstance(Locale.US);\r
274         assertEquals(11, cal.getActualMaximum(Calendar.MONTH));\r
275     }\r
276 \r
277     /*\r
278      * Test method for 'com.ibm.icu.util.Calendar.getActualMinimum(int)'\r
279      */\r
280     public void testGetActualMinimum() {\r
281         Calendar cal = Calendar.getInstance(Locale.US);\r
282         assertEquals(0, cal.getActualMinimum(Calendar.MONTH));\r
283     }\r
284 \r
285     /*\r
286      * Test method for 'com.ibm.icu.util.Calendar.roll(int, boolean)'\r
287      */\r
288     public void testRollIntBoolean() {\r
289         Calendar cal = Calendar.getInstance(Locale.US);\r
290         cal.set(1997, 1, 27);\r
291         cal.roll(Calendar.DATE, true);\r
292         assertEquals(28, cal.get(Calendar.DATE));\r
293     }\r
294 \r
295     /*\r
296      * Test method for 'com.ibm.icu.util.Calendar.roll(int, int)'\r
297      */\r
298     public void testRollIntInt() {\r
299         Calendar cal = Calendar.getInstance(Locale.US);\r
300         cal.set(1997, 1, 27);\r
301         cal.roll(Calendar.DATE, 3);\r
302         assertEquals(2, cal.get(Calendar.DATE));\r
303     }\r
304 \r
305     /*\r
306      * Test method for 'com.ibm.icu.util.Calendar.add(int, int)'\r
307      */\r
308     public void testAdd() {\r
309         Calendar cal = Calendar.getInstance(Locale.US);\r
310         cal.set(1997, 1, 27);\r
311         cal.add(Calendar.DATE, 3);\r
312         assertEquals(2, cal.get(Calendar.DATE));\r
313         assertEquals(2, cal.get(Calendar.MONTH));\r
314     }\r
315 \r
316     /*\r
317      * Test method for 'com.ibm.icu.util.Calendar.getDisplayName(Locale)'\r
318      */\r
319     public void testGetDisplayNameLocale() {\r
320         Calendar cal = Calendar.getInstance();\r
321         assertEquals("Calendar", cal.getDisplayName(Locale.US));\r
322     }\r
323 \r
324     /*\r
325      * Test method for 'com.ibm.icu.util.Calendar.getDisplayName(ULocale)'\r
326      */\r
327     public void testGetDisplayNameULocale() {\r
328         Calendar cal = Calendar.getInstance();\r
329         assertEquals("Calendar", cal.getDisplayName(ULocale.US));\r
330     }\r
331 \r
332     /*\r
333      * Test method for 'com.ibm.icu.util.Calendar.compareTo(Calendar)'\r
334      */\r
335     public void testCompareToCalendar() {\r
336         Calendar cal = Calendar.getInstance();\r
337         cal.set(Calendar.YEAR, 1990);\r
338         assertTrue(0 > cal.compareTo(Calendar.getInstance()));\r
339     }\r
340 \r
341     /*\r
342      * Test method for 'com.ibm.icu.util.Calendar.compareTo(Object)'\r
343      */\r
344     public void testCompareToObject() {\r
345         Calendar cal = Calendar.getInstance();\r
346         cal.set(Calendar.YEAR, 1990);\r
347         assertTrue(0 > cal.compareTo((Object)Calendar.getInstance()));\r
348     }\r
349 \r
350     /*\r
351      * Test method for 'com.ibm.icu.util.Calendar.getDateTimeFormat(int, int, Locale)'\r
352      */\r
353     public void testGetDateTimeFormatIntIntLocale() {\r
354         Calendar cal = Calendar.getInstance();\r
355         cal.set(1990, 8, 16, 20, 3);\r
356         DateFormat df = cal.getDateTimeFormat(DateFormat.LONG, DateFormat.SHORT, Locale.US);\r
357         assertEquals("September 16, 1990 8:03 PM", df.format(cal));\r
358     }\r
359 \r
360     /*\r
361      * Test method for 'com.ibm.icu.util.Calendar.getDateTimeFormat(int, int, ULocale)'\r
362      */\r
363     public void testGetDateTimeFormatIntIntULocale() {\r
364         Calendar cal = Calendar.getInstance();\r
365         cal.set(1990, 8, 16, 20, 3);\r
366         DateFormat df = cal.getDateTimeFormat(DateFormat.LONG, DateFormat.SHORT, ULocale.US);\r
367         assertEquals("September 16, 1990 8:03 PM", df.format(cal));\r
368     }\r
369 \r
370     /*\r
371      * Test method for 'com.ibm.icu.util.Calendar.fieldDifference(Date, int)'\r
372      */\r
373     public void testFieldDifference() {\r
374         Calendar cal = Calendar.getInstance();\r
375         cal.set(Calendar.DAY_OF_MONTH, 0);\r
376         Date date = cal.getTime();\r
377         cal.add(Calendar.DAY_OF_MONTH, 5);\r
378         assertEquals(-5, cal.fieldDifference(date, Calendar.DAY_OF_MONTH));\r
379     }\r
380 \r
381     /*\r
382      * Test method for 'com.ibm.icu.util.Calendar.getTimeZone()'\r
383      */\r
384     public void testGetTimeZone() {\r
385         Calendar cal = Calendar.getInstance();\r
386         assertNotNull(cal.getTimeZone());\r
387     }\r
388     \r
389     /*\r
390      * Test method for 'com.ibm.icu.util.Calendar.setTimeZone(TimeZone)'\r
391      */\r
392     public void testSetTimeZone() {\r
393         Calendar cal = Calendar.getInstance();\r
394         TimeZone value1 = cal.getTimeZone();\r
395         String tzn = "PDT".equals(value1.getID()) ? "CST" : "PDT";\r
396         TimeZone value2 = TimeZone.getTimeZone(tzn);\r
397         cal.setTimeZone(value2);\r
398         TimeZone result = cal.getTimeZone();\r
399         assertNotEqual(value1, result);\r
400         assertEquals(value2, result);\r
401     }\r
402 \r
403     /*\r
404      * Test method for 'com.ibm.icu.util.Calendar.setLenient(boolean)'\r
405      */\r
406     public void testSetLenient() {\r
407         Calendar cal = Calendar.getInstance();\r
408         boolean lenient = cal.isLenient();\r
409         cal.setLenient(!lenient);\r
410         assertFalse(lenient == cal.isLenient());\r
411         \r
412         // not testing if it has the expected effect\r
413     }\r
414 \r
415     /*\r
416      * Test method for 'com.ibm.icu.util.Calendar.isLenient()'\r
417      */\r
418     public void testIsLenient() {\r
419         // tested by testSetLenient\r
420     }\r
421 \r
422     /*\r
423      * Test method for 'com.ibm.icu.util.Calendar.setFirstDayOfWeek(int)'\r
424      */\r
425     public void testSetFirstDayOfWeek() {\r
426         Calendar cal = Calendar.getInstance();\r
427         int firstDay = cal.getFirstDayOfWeek();\r
428         cal.setFirstDayOfWeek(firstDay+1);\r
429         assertEquals(firstDay+1, cal.getFirstDayOfWeek());\r
430 \r
431         // don't test functionality\r
432     }\r
433 \r
434     /*\r
435      * Test method for 'com.ibm.icu.util.Calendar.getFirstDayOfWeek()'\r
436      */\r
437     public void testGetFirstDayOfWeek() {\r
438         // tested by testSetFirstDayOfWeek\r
439     }\r
440 \r
441     /*\r
442      * Test method for 'com.ibm.icu.util.Calendar.setMinimalDaysInFirstWeek(int)'\r
443      */\r
444     public void testSetMinimalDaysInFirstWeek() {\r
445         Calendar cal = Calendar.getInstance();\r
446         int firstDay = cal.getMinimalDaysInFirstWeek();\r
447         cal.setMinimalDaysInFirstWeek(firstDay+1);\r
448         assertEquals(firstDay+1, cal.getMinimalDaysInFirstWeek());\r
449 \r
450         // don't test functionality\r
451     }\r
452 \r
453     /*\r
454      * Test method for 'com.ibm.icu.util.Calendar.getMinimalDaysInFirstWeek()'\r
455      */\r
456     public void testGetMinimalDaysInFirstWeek() {\r
457         // tested by testSetMinimalDaysInFirstWeek\r
458     }\r
459 \r
460     /*\r
461      * Test method for 'com.ibm.icu.util.Calendar.getMinimum(int)'\r
462      */\r
463     public void testGetMinimum() {\r
464         Calendar cal = Calendar.getInstance();\r
465         assertEquals(1, cal.getMinimum(Calendar.DAY_OF_WEEK));\r
466     }\r
467 \r
468     /*\r
469      * Test method for 'com.ibm.icu.util.Calendar.getMaximum(int)'\r
470      */\r
471     public void testGetMaximum() {\r
472         Calendar cal = Calendar.getInstance();\r
473         assertEquals(7, cal.getMaximum(Calendar.DAY_OF_WEEK));\r
474     }\r
475 \r
476     /*\r
477      * Test method for 'com.ibm.icu.util.Calendar.getGreatestMinimum(int)'\r
478      */\r
479     public void testGetGreatestMinimum() {\r
480         Calendar cal = Calendar.getInstance();\r
481         assertEquals(1, cal.getGreatestMinimum(Calendar.DATE));\r
482     }\r
483 \r
484     /*\r
485      * Test method for 'com.ibm.icu.util.Calendar.getLeastMaximum(int)'\r
486      */\r
487     public void testGetLeastMaximum() {\r
488         Calendar cal = Calendar.getInstance();\r
489         assertEquals(28, cal.getLeastMaximum(Calendar.DATE));\r
490     }\r
491 \r
492     /*\r
493      * Test method for 'com.ibm.icu.util.Calendar.getDayOfWeekType(int)'\r
494      */\r
495     public void testGetDayOfWeekType() {\r
496         Calendar cal = Calendar.getInstance(Locale.US);\r
497         assertEquals(Calendar.WEEKDAY, cal.getDayOfWeekType(Calendar.FRIDAY));\r
498         assertEquals(Calendar.WEEKEND, cal.getDayOfWeekType(Calendar.SATURDAY));\r
499     }\r
500 \r
501     /*\r
502      * Test method for 'com.ibm.icu.util.Calendar.getWeekendTransition(int)'\r
503      */\r
504     public void testGetWeekendTransition() {\r
505         Calendar cal = Calendar.getInstance(Locale.US);\r
506         try {\r
507             cal.getWeekendTransition(Calendar.WEEKEND_ONSET);\r
508             fail("expected IllegalArgumentException from getWeekendTransition");\r
509         }\r
510         catch (IllegalArgumentException e) {\r
511             // ok\r
512         }\r
513     }\r
514 \r
515     /*\r
516      * Test method for 'com.ibm.icu.util.Calendar.isWeekend(Date)'\r
517      */\r
518     public void testIsWeekendDate() {\r
519         Calendar cal = Calendar.getInstance(Locale.US);\r
520         cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);\r
521         assertTrue(cal.isWeekend(cal.getTime()));\r
522         cal.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);\r
523         assertFalse(cal.isWeekend(cal.getTime()));\r
524     }\r
525 \r
526     /*\r
527      * Test method for 'com.ibm.icu.util.Calendar.isWeekend()'\r
528      */\r
529     public void testIsWeekend() {\r
530         Calendar cal = Calendar.getInstance(Locale.US);\r
531         cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);\r
532         assertTrue(cal.isWeekend());\r
533         cal.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);\r
534         assertFalse(cal.isWeekend());\r
535     }\r
536 \r
537     /*\r
538      * Test method for 'com.ibm.icu.util.Calendar.clone()'\r
539      */\r
540     public void testClone() {\r
541         // tested by testHashCode\r
542     }\r
543 \r
544     /*\r
545      * Test method for 'com.ibm.icu.util.Calendar.toString()'\r
546      */\r
547     public void testToString() {\r
548         Calendar cal = Calendar.getInstance();\r
549         assertNotNull(cal.toString());\r
550     }\r
551 \r
552     /*\r
553      * Test method for 'com.ibm.icu.util.Calendar.getType()'\r
554      */\r
555     public void testGetType() {\r
556         Calendar cal = Calendar.getInstance(Locale.US);\r
557         assertEquals("gregorian", cal.getType());\r
558     }\r
559 }\r