Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added unit tests for REQUEST-STATUS in iCalendarFreeBusy/ObjectDataTests.
[xestiacalendar/.git] / source / tests / xestiacalendar_icalfreebusyload.h
index ced2205..f6704d4 100644 (file)
@@ -295,4 +295,120 @@ TEST(iCalendarFreeBusy, ObjectDataTests){
        ASSERT_EQ("This is the third comment.", CommentData);
        ASSERT_EQ("ZEBRAS=YES", CommentDataTokens);
        
+       // Get the first FREEBUSY.
+       
+       std::string FreeBusyData;
+       
+       if (TestFreeBusy.FreeBusyList.begin() != TestFreeBusy.FreeBusyList.end()){
+               
+               FreeBusyData = TestFreeBusy.FreeBusyList[0];
+               
+       }
+       
+       ASSERT_EQ("20160202T210000Z/PT1H", FreeBusyData);
+       
+       // Get the second FREEBUSY.
+       
+       FreeBusyData.clear();
+       
+       std::string FreeBusyType;
+       
+       if (TestFreeBusy.FreeBusyList.size() > 1){
+               
+               FreeBusyData = TestFreeBusy.FreeBusyList[1];
+               
+       }
+       
+       if (TestFreeBusy.FreeBusyListType.size() > 1){
+               
+               FreeBusyType = TestFreeBusy.FreeBusyListType[1];
+               
+       }
+
+       ASSERT_EQ("FREE", FreeBusyType);        
+       ASSERT_EQ("20160202T220000Z/PT1H", FreeBusyData);       
+       
+       // Get the third FREEBUSY.
+       
+       FreeBusyData.clear();
+       FreeBusyType.clear();
+       
+       std::string FreeBusyTokens;
+       
+       if (TestFreeBusy.FreeBusyList.size() > 2){
+               
+               FreeBusyData = TestFreeBusy.FreeBusyList[2];
+               
+       }
+       
+       if (TestFreeBusy.FreeBusyListType.size() > 2){
+               
+               FreeBusyType = TestFreeBusy.FreeBusyListType[2];
+               
+       }
+       
+       if (TestFreeBusy.FreeBusyListTokens.size() > 2){
+               
+               FreeBusyTokens = TestFreeBusy.FreeBusyListTokens[2];
+               
+       }
+
+       ASSERT_EQ("BUSY-UNAVAILABLE", FreeBusyType);    
+       ASSERT_EQ("20160202T230000Z/PT9H", FreeBusyData);
+       ASSERT_EQ("RESULT=ARGH;TEST=YES", FreeBusyTokens);
+       
+       // Get the first REQUEST-STATUS.
+
+       std::string RequestStatus;
+       
+       if (TestFreeBusy.RequestStatusData.begin() != TestFreeBusy.RequestStatusData.end()){
+               
+               RequestStatus = TestFreeBusy.RequestStatusData[0];
+               
+       }
+       
+       ASSERT_EQ("2.0;Success", RequestStatus);
+       
+       // Get the second REQUEST-STATUS.
+       
+       RequestStatus.clear();
+       
+       std::string RequestLanguage;
+       
+       if (TestFreeBusy.RequestStatusData.size() > 1){
+               
+               RequestStatus = TestFreeBusy.RequestStatusData[1];
+               
+       }
+       
+       if (TestFreeBusy.RequestStatusData.size() > 1){
+               
+               RequestLanguage = TestFreeBusy.RequestStatusLanguage[1];
+               
+       }
+       
+       ASSERT_EQ("3.42;Really big irrecoverable error caused by the user", RequestStatus);
+       ASSERT_EQ("en", RequestLanguage);
+       
+       // Get the third REQUEST-STATUS.
+       
+       RequestStatus.clear();
+       
+       std::string RequestTokens;
+       
+       if (TestFreeBusy.RequestStatusData.size() > 2){
+               
+               RequestStatus = TestFreeBusy.RequestStatusData[2];
+               
+       }
+       
+       if (TestFreeBusy.RequestStatusData.size() > 2){
+               
+               RequestTokens = TestFreeBusy.RequestStatusTokens[2];
+               
+       }
+       
+       ASSERT_EQ("3.7;Invalid calendar user", RequestStatus);
+       ASSERT_EQ("USER=MISSING", RequestTokens);
+       
 }
\ 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