KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lucane > applications > calendar > util > CalendarUtilsTest


1 /*
2  * Lucane - a collaborative platform
3  * Copyright (C) 2004 Vincent Fiack <vfiack@mail15.com>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */

19
20 package org.lucane.applications.calendar.util;
21
22 import junit.framework.*;
23
24 import java.util.Calendar JavaDoc;
25 import java.util.ArrayList JavaDoc;
26
27 import org.lucane.applications.calendar.Event;
28
29 public class CalendarUtilsTest extends TestCase
30 {
31     private Calendar JavaDoc calendar;
32
33     public CalendarUtilsTest(String JavaDoc title)
34     {
35         super(title);
36     }
37
38     public void setUp()
39     {
40         calendar = Calendar.getInstance();
41         calendar.set(Calendar.DAY_OF_MONTH, 1);
42         calendar.set(Calendar.YEAR, 2004);
43     }
44
45     public void testFirstDayOfMonth()
46     {
47         calendar.set(Calendar.MONTH, Calendar.DECEMBER);
48         assertEquals(2, CalendarUtils.getFirstDayOfMonth(calendar, false));
49         assertEquals(3, CalendarUtils.getFirstDayOfMonth(calendar, true));
50     }
51
52     public void testFirstDayOfMonthSunday()
53     {
54         calendar.set(Calendar.MONTH, Calendar.AUGUST);
55         assertEquals(6, CalendarUtils.getFirstDayOfMonth(calendar, false));
56         assertEquals(0, CalendarUtils.getFirstDayOfMonth(calendar, true));
57     }
58
59     public void testDaysOfMonth()
60     {
61         calendar.set(Calendar.MONTH, Calendar.DECEMBER);
62         assertEquals(31, CalendarUtils.getDaysOfMonth(calendar));
63
64         calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
65         assertEquals(29, CalendarUtils.getDaysOfMonth(calendar));
66
67         calendar.set(Calendar.YEAR, 2005);
68         assertEquals(28, CalendarUtils.getDaysOfMonth(calendar));
69     }
70
71     public void testDispatchInMonth()
72     {
73         ArrayList JavaDoc[] dispatch;
74
75         calendar.set(Calendar.MONTH, Calendar.DECEMBER);
76         calendar.set(Calendar.DAY_OF_MONTH, 1);
77         calendar.set(Calendar.HOUR_OF_DAY, 16);
78         calendar.set(Calendar.MINUTE, 0);
79         long start = calendar.getTimeInMillis();
80         long end = start + 3600*1000;
81
82         ArrayList JavaDoc events = new ArrayList JavaDoc();
83         Event one = new Event(1, "type", "title", "orga", true, true, start, end, 0, "");
84         events.add(one);
85
86         calendar.set(Calendar.DAY_OF_MONTH, 15);
87         start = calendar.getTimeInMillis();
88         calendar.set(Calendar.DAY_OF_MONTH, 17);
89         end = calendar.getTimeInMillis();
90
91         Event two = new Event(2, "type", "title", "orga", true, true, start, end, 0, "");
92         events.add(two);
93
94         calendar.set(Calendar.DAY_OF_MONTH, 1);
95         dispatch = CalendarUtils.dispatchEventsInMonth(calendar, events.iterator(), false);
96         assertEquals(0, dispatch[0].size());
97         assertEquals(0, dispatch[1].size());
98         assertEquals(1, dispatch[2].size());
99         assertEquals(0, dispatch[3].size());
100         assertEquals(one, dispatch[2].get(0));
101
102         assertEquals(0, dispatch[15].size());
103         assertEquals(1, dispatch[16].size());
104         assertEquals(1, dispatch[17].size());
105         assertEquals(1, dispatch[18].size());
106         assertEquals(0, dispatch[19].size());
107         assertEquals(two, dispatch[16].get(0));
108         assertEquals(two, dispatch[17].get(0));
109         assertEquals(two, dispatch[18].get(0));
110     }
111
112     public void testDispatchInWeek()
113     {
114         ArrayList JavaDoc[] dispatch;
115
116         calendar.set(Calendar.MONTH, Calendar.DECEMBER);
117         calendar.set(Calendar.DAY_OF_MONTH, 6);
118         calendar.set(Calendar.HOUR_OF_DAY, 16);
119         calendar.set(Calendar.MINUTE, 0);
120         long start = calendar.getTimeInMillis();
121         long end = start + 3600*1000;
122
123         ArrayList JavaDoc events = new ArrayList JavaDoc();
124         Event one = new Event(1, "type", "title", "orga", true, true, start, end, 0, "");
125         events.add(one);
126
127         calendar.set(Calendar.DAY_OF_MONTH, 8);
128         start = calendar.getTimeInMillis();
129         calendar.set(Calendar.DAY_OF_MONTH, 10);
130         end = calendar.getTimeInMillis();
131
132         Event two = new Event(2, "type", "title", "orga", true, true, start, end, 0, "");
133         events.add(two);
134
135         calendar.set(Calendar.DAY_OF_MONTH, 6);
136         dispatch = CalendarUtils.dispatchEventsInWeek(calendar, events.iterator(), false);
137         assertEquals(1, dispatch[0].size());
138         assertEquals(0, dispatch[1].size());
139         assertEquals(1, dispatch[2].size());
140         assertEquals(1, dispatch[3].size());
141         assertEquals(1, dispatch[4].size());
142         assertEquals(0, dispatch[5].size());
143         assertEquals(0, dispatch[6].size());
144
145         assertEquals(one, dispatch[0].get(0));
146         assertEquals(two, dispatch[2].get(0));
147         assertEquals(two, dispatch[3].get(0));
148         assertEquals(two, dispatch[4].get(0));
149     }
150 }
Popular Tags