}
/////// Test Event
$e = new Event();
$e->setCreated(new cDateTime(2012, 3, 14, 9, 5, 30, true));
$e->setStart(new cDateTime(2012, 7, 31));
$d = new cDateTime(2009, 10, 12);
assertequal($e->exceptionDates()->size(), 0, "Event::exceptionDates()");
$e->addExceptionDate($d);
assertequal($e->exceptionDates()->size(), 1, "Event::addExceptionDate()");
$r = new RecurrenceRule();
$r->setFrequency(RecurrenceRule::Minutely);
$bysec = new vectori();
$bysec->push(1);
$bysec->push(3);
$r->setBySecond($bysec);
$e->setRecurrenceRule($r);
$va = new vectoralarm();
$a1 = new Alarm("Display alarm");
$a1->setRelativeStart(new Duration(0, 6, 30, 0, true), kolabformat::Start);
$va->push($a1);
$acr = new vectorcontactref();
$acr->push(new ContactReference("*****@*****.**"));
$a2 = new Alarm("Email alarm", "Alarm description", $acr);
$a2->setStart(new cDateTime(2012, 7, 30, 20, 30, 0, true));
$va->push($a2);
$e->setAlarms($va);
$xml = kolabformat::writeEvent($e);
#print $xml;
assertcontains($xml, '<dtstart><date>2012-07-31</date></dtstart>', "Event::setStart() with date only");
assertcontains($xml, '<created><date-time>2012-03-14T09:05:30Z</date-time></created>', "Event::setCreated() with date-time");
assertcontains($xml, '<rrule><recur><freq>MINUTELY</freq>', "RecurrenceRule::setFrequency()");