//
// (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
// 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 <http://www.gnu.org/licenses/>
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
-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);
+
+}
+
+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);
+
}
\ No newline at end of file