fail("Should've thrown an exception."); } catch (RuntimeException re) { log.info("Expecting an exception here."); Calendar queryStartDate = getCalendarInstance(); queryStartDate.set(2005, Calendar.APRIL, 1, 14, 47, 0); queryStartDate.set(Calendar.MILLISECOND, 0); DateTime queryStart = new DateTime(queryStartDate.getTime().getTime()); Calendar queryEndDate = getCalendarInstance(); queryEndDate.set(2005, Calendar.MAY, 1, 07, 15, 0); queryEndDate.set(Calendar.MILLISECOND, 0); DateTime queryEnd = new DateTime(queryEndDate.getTime().getTime()); Calendar week1EndDate = getCalendarInstance(); week1EndDate.set(2005, Calendar.APRIL, 8, 11, 15, 0); week1EndDate.set(Calendar.MILLISECOND, 0); Calendar week4StartDate = getCalendarInstance(); week4StartDate.set(2005, Calendar.APRIL, 24, 14, 47, 0); week4StartDate.set(Calendar.MILLISECOND, 0); expectedCal.set(Calendar.MILLISECOND, 0); Date expectedEndOfFirstRange = new DateTime(expectedCal.getTime().getTime()); assertNotNull(weeklyPeriods); assertTrue(weeklyPeriods.size() > 0); Period firstPeriod = (Period) weeklyPeriods.toArray()[0]; assertEquals(expectedStartOfFirstRange, firstPeriod.getStart()); assertEquals(expectedEndOfFirstRange, firstPeriod.getEnd());
public final void testGetConsumedTime3() throws Exception { String resource = "/samples/valid/calconnect10.ics"; net.fortuna.ical4j.model.Calendar calendar = loadCalendar(resource); VEvent vev = (VEvent) calendar.getComponent(Component.VEVENT); Date start = vev.getStartDate().getDate(); Calendar cal = getCalendarInstance(); cal.add(Calendar.YEAR, 1); Date latest = new Date(cal.getTime()); PeriodList pl = vev.getConsumedTime(start, latest); assertTrue(!pl.isEmpty()); }
/** * Unit tests for {@link VEvent#getOccurrence(Date)}. */ public void testGetOccurrence() throws IOException, ParseException, URISyntaxException { VEvent occurrence = event.getOccurrence(date); assertNotNull(occurrence); assertEquals(event.getUid(), occurrence.getUid()); }
public final void testGetConsumedTime2() throws Exception { String resource = "/samples/valid/derryn.ics"; net.fortuna.ical4j.model.Calendar calendar = loadCalendar(resource); Date start = new Date(); Calendar endCal = getCalendarInstance(); endCal.setTime(start); endCal.add(Calendar.WEEK_OF_YEAR, 4); // Date end = new Date(start.getTime() + (1000 * 60 * 60 * 24 * 7 * 4)); calendar.getComponents().forEach(calendarComponent -> { if (calendarComponent instanceof VEvent) { PeriodList consumed = ((VEvent) calendarComponent).getConsumedTime(start, new Date(endCal.getTime().getTime())); log.debug("Event [" + calendarComponent + "]"); log.debug("Consumed time [" + consumed + "]"); } }); }
/** * A test to confirm that the end date is calculated correctly * from a given start date and duration. */ public final void testEventEndDate() { Calendar cal = getCalendarInstance(); Date startDate = new Date(cal.getTime()); log.info("Start date: " + startDate); VEvent event = new VEvent(startDate, java.time.Duration.ofDays(3), "3 day event"); Date endDate = event.getEndDate().getDate(); log.info("End date: " + endDate); cal.add(Calendar.DAY_OF_YEAR, 3); assertEquals(new Date(cal.getTime()), endDate); }
/** * Test equality of events with different alarm sub-components. */ public void testEquals() { Date date = new Date(); String summary = "test event"; PropertyList props = new PropertyList(); props.add(new DtStart(date)); props.add(new Summary(summary)); VEvent e1 = new VEvent(props); VEvent e2 = new VEvent(props); assertTrue(e1.equals(e2)); e2.getAlarms().add(new VAlarm()); assertFalse(e1.equals(e2)); }
Calendar weekday9AM = getCalendarInstance(); weekday9AM.set(2005, Calendar.MARCH, 7, 9, 0, 0); weekday9AM.set(Calendar.MILLISECOND, 0); Calendar weekday5PM = getCalendarInstance(); weekday5PM.set(2005, Calendar.MARCH, 7, 17, 0, 0); weekday5PM.set(Calendar.MILLISECOND, 0); Calendar untilCal = getCalendarInstance(); untilCal.set(2005, Calendar.DECEMBER, 31); untilCal.set(Calendar.MILLISECOND, 0); DateTime periodEnd = new DateTime("20051231T235959"); Period period = new Period(periodStart, periodEnd); suite.addTest(new VEventTest("testCalculateRecurrenceSetNotEmpty", weekdayNineToFiveEvents, period)); suite.addTest(new VEventTest("testGetOccurrence", weekdayNineToFiveEvents, weekdayNineToFiveEvents.getStartDate().getDate())); suite.addTest(new VEventTest("testGetConsumedTime", weekdayNineToFiveEvents)); suite.addTest(new VEventTest("testGetConsumedTimeDaily", dailyWeekdayEvents)); suite.addTest(new VEventTest("testGetConsumedTimeMonthly", monthlyWeekdayEvents)); event.getProperties().add(start); event.getProperties().add(end); suite.addTest(new VEventTest("testValidation", event)); event.getProperties().remove(event.getProperty(Property.DTSTART)); event.getProperties().add(start); suite.addTest(new VEventTest("testValidationException", event));
public final void test3() { java.util.Calendar cal = getCalendarInstance(); // tomorrow.. cal.add(java.util.Calendar.DAY_OF_MONTH, 1); cal.set(java.util.Calendar.HOUR_OF_DAY, 9); cal.set(java.util.Calendar.MINUTE, 30); VEvent meeting = new VEvent(new DateTime(cal.getTime().getTime()), java.time.Duration.ofHours(1), "Progress Meeting"); // add timezone information.. meeting.getProperty(Property.DTSTART).getParameters().add(tzParam); log.info(meeting.toString()); }
/** * */ public void testCalculateRecurrenceSetNotEmpty() { PeriodList recurrenceSet = event.calculateRecurrenceSet(period); assertTrue(!recurrenceSet.isEmpty()); }
/** * A test to confirm that the end date is calculated correctly * from a given start date and duration, even when timezone is specified. */ public final void testEventEndDateWithTimeZone() throws ParseException { TimeZone timezone = new TimeZoneRegistryImpl().getTimeZone("Asia/Seoul"); DateTime startDateTime = new DateTime("20181003T130000", timezone); log.info("Start date: " + startDateTime); VEvent event = new VEvent(startDateTime, java.time.Duration.ofHours(1), "1 hour event"); assertEquals(new DateTime("20181003T140000", timezone), event.getEndDate().getDate()); }
public final void test2() { java.util.Calendar cal = getCalendarInstance(); cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER); cal.set(java.util.Calendar.DAY_OF_MONTH, 25); VEvent christmas = new VEvent(new Date(cal.getTime()), "Christmas Day"); // initialise as an all-day event.. christmas.getProperty(Property.DTSTART).getParameters().add(Value.DATE); // add timezone information.. christmas.getProperty(Property.DTSTART).getParameters().add(tzParam); log.info(christmas.toString()); }
/** * Test to ensure that EXDATE properties are correctly applied. * * @throws ParseException */ public void testGetConsumedTimeWithExDate2() throws IOException, ParserException { InputStream in = getClass().getResourceAsStream("/samples/valid/friday13.ics"); net.fortuna.ical4j.model.Calendar calendar = new CalendarBuilder().build(in); VEvent event = (VEvent) calendar.getComponent(Component.VEVENT); Calendar cal = Calendar.getInstance(); cal.set(1997, 8, 2); Date start = new Date(cal.getTime()); cal.set(1997, 8, 4); Date end = new Date(cal.getTime()); PeriodList periods = event.getConsumedTime(start, end); assertTrue(periods.isEmpty()); }
Calendar queryStartDate = getCalendarInstance(); queryStartDate.set(2005, Calendar.APRIL, 3, 05, 12, 0); queryStartDate.set(Calendar.MILLISECOND, 0); Calendar queryEndDate = getCalendarInstance(); queryEndDate.set(2005, Calendar.APRIL, 10, 21, 55, 0); queryEndDate.set(Calendar.MILLISECOND, 0); event.getConsumedTime(new DateTime(queryStartDate.getTime()), new DateTime(queryEndDate.getTime())); Calendar expectedCal = getCalendarInstance(); expectedCal.set(2005, Calendar.APRIL, 4, 9, 0, 0); expectedCal.set(Calendar.MILLISECOND, 0); expectedCal.set(Calendar.MILLISECOND, 0); Date expectedEndOfFirstRange = new DateTime(expectedCal.getTime()); assertNotNull(dailyPeriods); assertTrue(dailyPeriods.size() > 0); Period firstPeriod = (Period) dailyPeriods.toArray()[0]; assertEquals(expectedStartOfFirstRange, firstPeriod.getStart()); assertEquals(expectedEndOfFirstRange, firstPeriod.getEnd());
/** * Test COUNT rules. */ public void testGetConsumedTimeByCount() { Recur recur = new Recur.Builder().frequency(Frequency.WEEKLY).count(3) .interval(1).dayList(new WeekDayList(SU)).build(); log.info(recur.toString()); Calendar cal = getCalendarInstance(); cal.set(Calendar.DAY_OF_MONTH, 8); Date start = new DateTime(cal.getTime()); // cal.add(Calendar.DAY_OF_WEEK_IN_MONTH, 10); cal.add(Calendar.HOUR_OF_DAY, 1); Date end = new DateTime(cal.getTime()); // log.info(recur.getDates(start, end, Value.DATE_TIME)); RRule rrule = new RRule(recur); VEvent event = new VEvent(start, end, "Test recurrence COUNT"); event.getProperties().add(rrule); log.info(event.toString()); Calendar rangeCal = getCalendarInstance(); Date rangeStart = new DateTime(rangeCal.getTime()); rangeCal.add(Calendar.WEEK_OF_YEAR, 4); Date rangeEnd = new DateTime(rangeCal.getTime()); log.info(event.getConsumedTime(rangeStart, rangeEnd).toString()); }
/** * Test to ensure that EXDATE properties are correctly applied. * * @throws ParseException */ public void testGetConsumedTimeWithExDate() throws ParseException { VEvent event1 = new VEvent(new DateTime("20050103T080000"), java.time.Duration.ofMinutes(15), "Event 1"); Recur rRuleRecur = new Recur("FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR"); RRule rRule = new RRule(rRuleRecur); event1.getProperties().add(rRule); ParameterList parameterList = new ParameterList(); parameterList.add(Value.DATE); ExDate exDate = new ExDate(parameterList, "20050106"); event1.getProperties().add(exDate); Date start = new Date("20050106"); Date end = new Date("20050107"); PeriodList list = event1.getConsumedTime(start, end); assertTrue(list.isEmpty()); }
Calendar queryStartDate = getCalendarInstance(); queryStartDate.set(2005, Calendar.APRIL, 3, 05, 12, 0); queryStartDate.set(Calendar.MILLISECOND, 0); Calendar queryEndDate = getCalendarInstance(); queryEndDate.set(2005, Calendar.APRIL, 17, 21, 55, 0); queryEndDate.set(Calendar.MILLISECOND, 0); Calendar expectedCal = getCalendarInstance(); expectedCal.set(2005, Calendar.APRIL, 4, 9, 0, 0); expectedCal.set(Calendar.MILLISECOND, 0); expectedCal.set(Calendar.MILLISECOND, 0); Date expectedEndOfFirstRange = new DateTime(expectedCal.getTime()); assertNotNull(monthlyPeriods); assertTrue(monthlyPeriods.size() > 0); Period firstPeriod = (Period) monthlyPeriods.toArray()[0]; assertEquals(expectedStartOfFirstRange, firstPeriod.getStart()); assertEquals(expectedEndOfFirstRange, firstPeriod.getEnd());
/** * */ public final void testChristmas() { // create event start date.. java.util.Calendar calendar = getCalendarInstance(); calendar.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER); calendar.set(java.util.Calendar.DAY_OF_MONTH, 25); DtStart start = new DtStart(new Date(calendar.getTime())); start.getParameters().add(tzParam); start.getParameters().add(Value.DATE); Summary summary = new Summary("Christmas Day; \n this is a, test\\"); VEvent christmas = new VEvent(); christmas.getProperties().add(start); christmas.getProperties().add(summary); log.info(christmas.toString()); }