// xestiacalendar_icalfreebusysave.h - Xestia Calendar iCalendar Free/Busy Component Save Unit Tests
//
-// (c) 2016 Xestia Software Development.
+// (c) 2016-2017 Xestia Software Development.
//
// This file is part of Xestia Calendar.
//
-// Xestia Address Book is free software: you can redistribute it and/or modify
+// Xestia Calendar is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by the
// Free Software Foundation, version 3 of the license.
//
-// Xestia Address Book is distributed in the hope that it will be useful,
+// Xestia Calendar is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
TEST(iCalendarSaveFreeBusy, SaveFreeBusyTests){
CalendarFreeBusyObject TestFreeBusy;
+ CalendarFreeBusyObject TestFreeBusy2;
// Load the test free/busy information.
"PRODID:-//Xestia//Calendar Unit Testing//KW\n"
"BEGIN:VFREEBUSY\n"
"UID:60\n"
+ "DTSTAMP:20160131T165000Z\n"
"END:VFREEBUSY\n"
"END:VCALENDAR";
ASSERT_EQ(SaveDataComparison, SaveData);
+ SaveData.clear();
+
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestFreeBusy2.LoadFile("iCalendarFreeBusy-Load2.vcf"));
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestFreeBusy2.ValidBaseObject());
+
+ SaveDataComparison = "BEGIN:VCALENDAR\n"
+ "VERSION:2.0\n"
+ "PRODID:-//Xestia//Calendar Unit Testing//KW\n"
+ "BEGIN:VFREEBUSY\n"
+ "UID;UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT:b3a16392-ad86-4061-be53-c215af2306ff\n"
+ "DTSTAMP;OTHER=PARAM:20160131T173000Z\n"
+ "CONTACT;ALTREP=\"null:nodata\";LANGUAGE=en-GB;EXAMPLE=TOKEN:Contact Person\n"
+ "DTSTART;VALUE=DATE-TIME;TZID=Europe/Truro;PARAMONE=YES;PARAMTWO=NO:20160131T1\n"
+ " 03000Z\n"
+ "DTEND;VALUE=DATE-TIME;TZID=Europe/Truro;PARAMFOUR=YES;PARAMTHREE=NO:20160131T\n"
+ " 183000Z\n"
+ "ORGANIZER;CN=ExampleOrganiser;DIR=\"null:nodata\";SENT-BY=\"mailto:organiser.nor\n"
+ " eply@example.com\";LANGUAGE=kw;HAPPY=DAYS:mailto:organiser@example.com\n"
+ "URL;EXTERNAL=YES:http://www.example.com/\n"
+ "ATTENDEE:Attendee One\n"
+ "ATTENDEE;DELEGATED-FROM=\"mailto:delegated.from@example.com\";DELEGATED-TO=\"mai\n"
+ " lto:delegated.to@example.com\";ROLE=CHAIR;RSVP=TRUE:Attendee Two\n"
+ "ATTENDEE;DIR=\"null:nodata\";SENT-BY=\"mailto:sent.by@example.com\";CN=\"Attendee \n"
+ " The Third\";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;LANGUAGE=kw;EXAMPLE=DATA:Atte\n"
+ " ndee Three\n"
+ "COMMENT:This is the first comment.\n"
+ "COMMENT;ALTREP=\"null:nodata\";LANGUAGE=en:This is the second comment.\n"
+ "COMMENT;ZEBRAS=YES:This is the third comment.\n"
+ "FREEBUSY:20160202T210000Z/PT1H\n"
+ "FREEBUSY;FBTYPE=FREE:20160202T220000Z/PT1H\n"
+ "FREEBUSY;FBTYPE=BUSY-UNAVAILABLE;RESULT=ARGH;TEST=YES:20160202T230000Z/PT9H\n"
+ "REQUEST-STATUS:2.0;Success\n"
+ "REQUEST-STATUS;LANGUAGE=en:3.42;Really big irrecoverable error caused by the \n"
+ " user\n"
+ "REQUEST-STATUS;USER=MISSING:3.7;Invalid calendar user\n"
+ "X-EXAMPLE1:Moo\n"
+ "X-EXAMPLE1;ANIMAL=NOPE:Meep\n"
+ "X-EXAMPLE1;ANIMAL=CAT:Meow\n"
+ "X-EXAMPLE2:Dish\n"
+ "X-EXAMPLE2;OBJECT=KITCHEN:Fork\n"
+ "X-EXAMPLE2;OBJECT=LIVINGROOM:Table\n"
+ "X-STATUS;HOLIDAY=YES:Idle\n"
+ "X-TRANSPORT;PUBLIC=NO:Private Hire\n"
+ "X-PHANTOM-STATUS;HELP=NONE:None\n"
+ "END:VFREEBUSY\n"
+ "END:VCALENDAR";
+
+ TestFreeBusy2.SaveString(&SaveData);
+
+ ASSERT_EQ(SaveDataComparison, SaveData);
+
}
\ No newline at end of file