TEST(iCalendarSaveTimezone, SaveTimezoneTests){
CalendarTimezoneObject TestTimezone;
+ CalendarTimezoneObject TestTimezone2;
// Load the first test timezone.
ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestTimezone.LoadFile("iCalendarTimezone-Load1.vcf"));
ASSERT_EQ(CALENDAROBJECTVALID_OK, TestTimezone.ValidBaseObject());
+ ASSERT_EQ(CALENDAROBJECTSAVE_CANNOTOPEN, TestTimezone.SaveFile("/stupidfilelocation/dontsavehere.ics"));
+ // Save the data to a string and compare the data.
+
+ // First contact file.
+
+ std::string SaveDataComparison = "BEGIN:VCALENDAR\n"
+ "VERSION:2.0\n"
+ "PRODID:-//Xestia//Calendar Unit Testing//KW\n"
+ "BEGIN:VTIMEZONE\n"
+ "TZID:Example/Starrgazy\n"
+ "END:VTIMEZONE\n"
+ "END:VCALENDAR";
+
+ std::string SaveData;
+ TestTimezone.SaveString(&SaveData);
+
+ ASSERT_EQ(SaveDataComparison, SaveData);
+
+ // Process the second calendar item.
+
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestTimezone2.LoadFile("iCalendarTimezone-Load2.vcf"));
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestTimezone2.ValidBaseObject());
+
+ SaveData.clear();
+
+ TestTimezone2.SaveString(&SaveData);
+
+ SaveDataComparison = "BEGIN:VCALENDAR\n"
+ "VERSION:2.0\n"
+ "PRODID:-//Xestia//Calendar Unit Testing//KW\n"
+ "BEGIN:VTIMEZONE\n"
+ "TZID;OTHER=PARAM:Example/Starrgazy\n"
+ "LAST-MODIFIED;FUTURE=ODD:20160203T200700Z\n"
+ "END:VTIMEZONE\n"
+ "END:VCALENDAR";
+
+ ASSERT_EQ(SaveDataComparison, SaveData);
+
}
\ No newline at end of file