// xestiacalendar_icalfreebusysave.h - Xestia Calendar iCalendar Free/Busy Component Save Unit Tests // // (c) 2016 Xestia Software Development. // // This file is part of Xestia Calendar. // // Xestia Address Book 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, // 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. // // You should have received a copy of the GNU General Public License along // with Xestia Calendar. If not, see #include "../objects/calendarfreebusy/CalendarFreeBusy.h" TEST(iCalendarSaveFreeBusy, SaveFreeBusyTests){ CalendarFreeBusyObject TestFreeBusy; CalendarFreeBusyObject TestFreeBusy2; // Load the test free/busy information. ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestFreeBusy.LoadFile("iCalendarFreeBusy-Load1.vcf")); ASSERT_EQ(CALENDAROBJECTVALID_OK, TestFreeBusy.ValidBaseObject()); ASSERT_EQ(CALENDAROBJECTSAVE_CANNOTOPEN, TestFreeBusy.SaveFile("/stupidfilelocation/dontsavehere.ics")); // First Free/Busy file. std::string SaveDataComparison = "BEGIN:VCALENDAR\n" "VERSION:2.0\n" "PRODID:-//Xestia//Calendar Unit Testing//KW\n" "BEGIN:VFREEBUSY\n" "UID:60\n" "DTSTAMP:20160131T165000Z\n" "END:VFREEBUSY\n" "END:VCALENDAR"; std::string SaveData; TestFreeBusy.SaveString(&SaveData); 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" "END:VFREEBUSY\n" "END:VCALENDAR"; TestFreeBusy2.SaveString(&SaveData); ASSERT_EQ(SaveDataComparison, SaveData); }