--- /dev/null
+#include "CalendarTimezone.h"
+
+using namespace std;
+
+void CalendarTimezoneObject::SaveObjectData(string *SaveData){
+
+ string DataLine = "";
+ string DataLineProcessed = "";
+
+ *SaveData += "BEGIN:VTIMEZONE\n";
+
+ // Process the TZID.
+
+ if (TimeZoneData.size() > 0){
+
+ if (TimeZoneDataTokens.size() > 0){
+
+ DataLine += "TZID;";
+ DataLine += TimeZoneDataTokens;
+
+ } else {
+
+ DataLine += "TZID";
+
+ }
+
+ DataLine += ":";
+ DataLine += TimeZoneData;
+ DataLine += "\n";
+
+ DataLineProcessed = OutputText(&DataLine);
+
+ *SaveData += DataLineProcessed;
+
+ DataLine.clear();
+ DataLineProcessed.clear();
+
+ }
+
+ *SaveData += "END:VTIMEZONE\n";
+
+}
\ No newline at end of file
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);
}
\ No newline at end of file