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