Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added unit tests for COMMENT in iCalendarJournal/ObjectDataTests.
[xestiacalendar/.git] / source / tests / xestiacalendar_icalfreebusyload.h
index 76bd923..ced2205 100644 (file)
@@ -86,5 +86,213 @@ TEST(iCalendarFreeBusy, ObjectDataTests){
        ASSERT_EQ("DATE-TIME", TestFreeBusy.DateTimeStartDataValue);
        ASSERT_EQ("Europe/Truro", TestFreeBusy.DateTimeStartDataTimeZoneID);
        ASSERT_EQ("PARAMONE=YES;PARAMTWO=NO", TestFreeBusy.DateTimeStartDataTokens);
+
+       // Tests for DTEND.
+       
+       ASSERT_EQ("20160131T183000Z", TestFreeBusy.DateTimeEndData);
+       ASSERT_EQ("DATE-TIME", TestFreeBusy.DateTimeEndDataValue);
+       ASSERT_EQ("Europe/Truro", TestFreeBusy.DateTimeEndDataTimeZoneID);
+       ASSERT_EQ("PARAMFOUR=YES;PARAMTHREE=NO", TestFreeBusy.DateTimeEndDataTokens);
+       
+       // Tests for ORGANIZER.
+       
+       ASSERT_EQ("mailto:organiser@example.com", TestFreeBusy.OrganiserData);
+       ASSERT_EQ("ExampleOrganiser", TestFreeBusy.OrganiserDataCommonName);
+       ASSERT_EQ("null:nodata", TestFreeBusy.OrganiserDataDirectoryEntry);
+       ASSERT_EQ("mailto:organiser.noreply@example.com", TestFreeBusy.OrganiserDataSentByParam);
+       ASSERT_EQ("kw", TestFreeBusy.OrganiserDataLanguage);
+       ASSERT_EQ("HAPPY=DAYS", TestFreeBusy.OrganiserDataTokens);
+       
+       // Tests for URL.
+
+       ASSERT_EQ("http://www.example.com/", TestFreeBusy.URLData);
+       ASSERT_EQ("EXTERNAL=YES", TestFreeBusy.URLDataTokens);
+       
+       // Tests for ATTENDEE. First ATTENDEE property.
+
+       std::string AttendeeDataMember;
+       std::string AttendeeDataDelegatedFrom;
+       std::string AttendeeDataDelegatedTo;
+       std::string AttendeeDataRole;
+       std::string AttendeeDataRSVP;
+       std::string AttendeeDataDirectoryEntry;
+       std::string AttendeeDataSentBy;
+       std::string AttendeeDataCommonName;
+       std::string AttendeeDataCalendarUserType;
+       std::string AttendeeDataParticipationStatus;
+       std::string AttendeeDataLanguage;
+       std::string AttendeeDataTokens;
+       std::string AttendeeData;
+
+       if (TestFreeBusy.AttendeeList.begin() != TestFreeBusy.AttendeeList.end()){
+               
+               AttendeeData = TestFreeBusy.AttendeeList[0];
+               
+       }
+       
+       ASSERT_EQ("Attendee One", AttendeeData);
+       
+       // Second ATTENDEE property.
+       
+       AttendeeData.clear();
+       
+       if (TestFreeBusy.AttendeeList.size() > 1){
+               
+               AttendeeData = TestFreeBusy.AttendeeList[1];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 1){
+               
+               AttendeeDataDelegatedFrom = TestFreeBusy.AttendeeListDelegatedFrom[1];
+               
+       }
+       
+       if (TestFreeBusy.AttendeeList.size() > 1){
+               
+               AttendeeDataDelegatedTo = TestFreeBusy.AttendeeListDelegatedTo[1];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 1){
+               
+               AttendeeDataRole = TestFreeBusy.AttendeeListRole[1];
+               
+       }
+       
+       if (TestFreeBusy.AttendeeList.size() > 1){
+               
+               AttendeeDataRSVP = TestFreeBusy.AttendeeListRSVP[1];
+               
+       }
+       
+       ASSERT_EQ("Attendee Two", AttendeeData);
+       ASSERT_EQ("mailto:delegated.from@example.com", AttendeeDataDelegatedFrom);
+       ASSERT_EQ("mailto:delegated.to@example.com", AttendeeDataDelegatedTo);
+       ASSERT_EQ("CHAIR", AttendeeDataRole);
+       ASSERT_EQ("TRUE", AttendeeDataRSVP);
+
+       // Third ATTENDEE property.
+       
+       AttendeeData.clear();
+       
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeData = TestFreeBusy.AttendeeList[2];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataDirectoryEntry = TestFreeBusy.AttendeeListDirectoryEntry[2];
+               
+       }
+       
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataSentBy = TestFreeBusy.AttendeeListSentBy[2];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataCommonName = TestFreeBusy.AttendeeListCommonName[2];
+               
+       }
+       
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataCalendarUserType = TestFreeBusy.AttendeeListCalendarUserType[2];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataParticipationStatus = TestFreeBusy.AttendeeListParticipationStatus[2];
+               
+       }
+
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataLanguage = TestFreeBusy.AttendeeListLanguage[2];
+               
+       }
+       
+       if (TestFreeBusy.AttendeeList.size() > 2){
+               
+               AttendeeDataTokens = TestFreeBusy.AttendeeListTokens[2];
+               
+       }
+       
+       ASSERT_EQ("Attendee Three", AttendeeData);
+       ASSERT_EQ("null:nodata", AttendeeDataDirectoryEntry);
+       ASSERT_EQ("mailto:sent.by@example.com", AttendeeDataSentBy);
+       ASSERT_EQ("Attendee The Third", AttendeeDataCommonName);
+       ASSERT_EQ("INDIVIDUAL", AttendeeDataCalendarUserType);
+       ASSERT_EQ("ACCEPTED", AttendeeDataParticipationStatus);
+       ASSERT_EQ("kw", AttendeeDataLanguage);
+       ASSERT_EQ("EXAMPLE=DATA", AttendeeDataTokens);
+       
+       // Get the first COMMENT.
+       
+       std::string CommentData;
+       
+       if (TestFreeBusy.CommentList.begin() != TestFreeBusy.CommentList.end()){
+               
+               CommentData = TestFreeBusy.CommentList[0];
+               
+       }
+       
+       ASSERT_EQ("This is the first comment.", CommentData);
+       
+       // Get the second COMMENT.
+       
+       CommentData.clear();
+       
+       std::string CommentDataAltRep;
+       std::string CommentDataLanguage;
+       
+       if (TestFreeBusy.CommentList.size() > 1){
+               
+               CommentData = TestFreeBusy.CommentList[1];
+               
+       }
+       
+       if (TestFreeBusy.CommentList.size() > 1){
+               
+               CommentDataAltRep = TestFreeBusy.CommentListAltRep[1];
+               
+       }
+       
+       if (TestFreeBusy.CommentList.size() > 1){
+               
+               CommentDataLanguage = TestFreeBusy.CommentListLanguage[1];
+               
+       }
+       
+       ASSERT_EQ("This is the second comment.", CommentData);
+       ASSERT_EQ("null:nodata", CommentDataAltRep);
+       ASSERT_EQ("en", CommentDataLanguage);
+       
+       // Get the third COMMENT.
+       
+       CommentData.clear();
+       
+       std::string CommentDataTokens;
+       
+       if (TestFreeBusy.CommentList.size() > 2){
+               
+               CommentData = TestFreeBusy.CommentList[2];
+               
+       }
+       
+       if (TestFreeBusy.CommentList.size() > 2){
+               
+               CommentDataTokens = TestFreeBusy.CommentListTokens[2];
+               
+       }
+       
+       ASSERT_EQ("This is the third comment.", CommentData);
+       ASSERT_EQ("ZEBRAS=YES", CommentDataTokens);
        
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy