// Add a event that last a whole week
Date start = resolveFirstDateOfWeek(today, calendar);
Date end = resolveLastDateOfWeek(today, calendar);
CalendarTestEvent event = getNewEvent("Whole week event", start, end);
event.setAllDay(true);
event.setStyleName("color4");
event.setDescription("Description for the whole week event.");
dataSource.addEvent(event);
// Add a allday event
calendar.setTime(start);
calendar.add(GregorianCalendar.DATE, 3);
start = calendar.getTime();
end = start;
event = getNewEvent("All-day event", start, end);
event.setAllDay(true);
event.setDescription("Some description.");
event.setStyleName("color3");
dataSource.addEvent(event);
// Add a second allday event
calendar.add(GregorianCalendar.DATE, 1);
start = calendar.getTime();
end = start;
event = getNewEvent("Second all-day event", start, end);
event.setAllDay(true);
event.setDescription("Some description.");
event.setStyleName("color2");
dataSource.addEvent(event);
calendar.add(GregorianCalendar.DATE, -3);
calendar.set(GregorianCalendar.HOUR_OF_DAY, 9);
calendar.set(GregorianCalendar.MINUTE, 30);
start = calendar.getTime();
calendar.add(GregorianCalendar.HOUR_OF_DAY, 5);
calendar.set(GregorianCalendar.MINUTE, 0);
end = calendar.getTime();
event = getNewEvent("Appointment", start, end);
event.setWhere("Office");
event.setStyleName("color1");
event.setDescription("A longer description, which should display correctly.");
dataSource.addEvent(event);
calendar.add(GregorianCalendar.DATE, 1);
calendar.set(GregorianCalendar.HOUR_OF_DAY, 11);
calendar.set(GregorianCalendar.MINUTE, 0);
start = calendar.getTime();
calendar.add(GregorianCalendar.HOUR_OF_DAY, 8);
end = calendar.getTime();
event = getNewEvent("Training", start, end);
event.setStyleName("color2");
dataSource.addEvent(event);
calendar.add(GregorianCalendar.DATE, 4);
calendar.set(GregorianCalendar.HOUR_OF_DAY, 9);
calendar.set(GregorianCalendar.MINUTE, 0);