X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Ftests%2Fxestiacalendar_icaleventload.h;h=96d40dbe258360d22408bd8e64e0c010d992aa1f;hb=ec8bfe7e1e3536f2fadbbb2d305122120e2c3471;hp=2854ec3d607f9ce0623ae653954c42efcd63e1d7;hpb=98d21dfd279a38c83dcbdd99da8024ffea00d9de;p=xestiacalendar%2F.git
diff --git a/source/tests/xestiacalendar_icaleventload.h b/source/tests/xestiacalendar_icaleventload.h
index 2854ec3..96d40db 100644
--- a/source/tests/xestiacalendar_icaleventload.h
+++ b/source/tests/xestiacalendar_icaleventload.h
@@ -2,7 +2,7 @@
//
// (c) 2016 Xestia Software Development.
//
-// This file is part of Xestia Address Book.
+// 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
@@ -14,8 +14,102 @@
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
-// with Xestia Address Book. If not, see
+// with Xestia Calendar. If not, see
-TEST(iCalendarEvent, BasicTest){
+#include "../objects/calendarevent/CalendarEvent.h"
+TEST(iCalendarEvent, BasicTests){
+
+ CalendarEventObject TestEvent;
+
+ ASSERT_EQ(CALENDAROBJECTLOAD_MISSING, TestEvent.LoadFile("iCalendarEvent-Missing.vcf"));
+ ASSERT_EQ(CALENDAROBJECTLOAD_CANNOTOPEN, TestEvent.LoadFile("iCalendarEvent-InvalidPermissions.vcf"));
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestEvent.LoadFile("iCalendarEvent-Load1.vcf"));
+
+}
+
+TEST(iCalendarEvent, BaseObjectVerifyTests){
+
+ CalendarEventObject TestEvent;
+ TestEvent.LoadFile("iCalendarEvent-Load1.vcf");
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestEvent.ValidBaseObject());
+
+ // Tests for METHOD.
+
+ ASSERT_EQ("REQUEST", TestEvent.MethodData);
+ ASSERT_EQ("EXAMPLE=DATA", TestEvent.MethodTokens);
+
+ // Tests for CALSCALE.
+
+ ASSERT_EQ("GREGORIAN", TestEvent.CalendarScaleData);
+ ASSERT_EQ("MORE=YES", TestEvent.CalendarScaleTokens);
+
+}
+
+TEST(iCalendarEvent, ObjectDataTests){
+
+ CalendarEventObject TestEvent;
+ ASSERT_EQ(CALENDAROBJECTLOAD_OK, TestEvent.LoadFile("iCalendarEvent-Load2.vcf"));
+ ASSERT_EQ(CALENDAROBJECTVALID_OK, TestEvent.ValidBaseObject());
+
+ // Tests for DTSTAMP.
+
+ ASSERT_EQ("20160122T124100Z", TestEvent.DateTimeStampData);
+ ASSERT_EQ("OTHER=PARAM", TestEvent.DateTimeStampTokens);
+
+ // Tests for UID.
+
+ ASSERT_EQ("b3a16392-ad86-4061-be53-c215af2306e0", TestEvent.UniqueID);
+ ASSERT_EQ("UNIQUEPARAM=CERTAINLY;OKAY=MAYBENOT", TestEvent.UniqueIDTokens);
+
+ // Tests for DTSTART.
+
+ ASSERT_EQ("20160122T183000Z", TestEvent.DateTimeStartData);
+ ASSERT_EQ("DATE-TIME", TestEvent.DateTimeStartDataValue);
+ ASSERT_EQ("Europe/Truro", TestEvent.DateTimeStartDataTimeZoneID);
+ ASSERT_EQ("PARAMONE=YES;PARAMTWO=NO", TestEvent.DateTimeStartDataTokens);
+
+ // Tests for CLASS.
+
+ ASSERT_EQ("PUBLIC", TestEvent.ClassData);
+ ASSERT_EQ("CHOCOLATE=BAR", TestEvent.ClassDataTokens);
+
+ // Tests for CREATED.
+
+ ASSERT_EQ("20160123T081100Z", TestEvent.DateTimeCreatedData);
+ ASSERT_EQ("CARAMEL=PLEASE", TestEvent.DateTimeCreatedTokens);
+
+ // Tests for DESCRIPTION.
+
+ std::string DescriptionData;
+ std::string DescriptionAltRep;
+ std::string DescriptionLanguage;
+ std::string DescriptionTokens;
+
+ if (TestEvent.DescriptionList.begin() != TestEvent.DescriptionList.end()){
+ DescriptionData = TestEvent.DescriptionList[0];
+ }
+
+ if (TestEvent.DescriptionListAltRep.begin() != TestEvent.DescriptionListAltRep.end()){
+ DescriptionAltRep = TestEvent.DescriptionListAltRep[0];
+ }
+
+ if (TestEvent.DescriptionListAltRep.begin() != TestEvent.DescriptionListAltRep.end()){
+ DescriptionLanguage = TestEvent.DescriptionListLanguage[0];
+ }
+
+ if (TestEvent.DescriptionListTokens.begin() != TestEvent.DescriptionListTokens.end()){
+ DescriptionTokens = TestEvent.DescriptionListTokens[0];
+ }
+
+ ASSERT_EQ("This is a description of the event.", DescriptionData);
+ ASSERT_EQ("null:nodata", DescriptionAltRep);
+ ASSERT_EQ("kw", DescriptionLanguage);
+ ASSERT_EQ("EXAMPLE=TOKEN;MOREDATA=YES", DescriptionTokens);
+
+ // Tests for GEO.
+
+ ASSERT_EQ("5.0;5.0", TestEvent.GeographicData);
+ ASSERT_EQ("EXAMPLE=MEEP", TestEvent.GeographicTokens);
+
}
\ No newline at end of file