+ // Get the first RDATE.
+
+ std::string RecurrenceDate;
+
+ if (TestTask.RecurranceDateData.begin() != TestTask.RecurranceDateData.end()){
+
+ RecurrenceDate = TestTask.RecurranceDateData[0];
+
+ }
+
+ ASSERT_EQ("20160120", RecurrenceDate);
+
+ // Get the second RDATE.
+
+ RecurrenceDate.clear();
+
+ std::string RecurrenceDateTimeZoneParam;
+ std::string RecurrenceDateValue;
+
+ if (TestTask.RecurranceDateData.size() > 1){
+
+ RecurrenceDate = TestTask.RecurranceDateData[1];
+
+ }
+
+ if (TestTask.RecurranceDateData.size() > 1){
+
+ RecurrenceDateTimeZoneParam = TestTask.RecurranceDateDataTimeZoneParam[1];
+
+ }
+
+ if (TestTask.RecurranceDateData.size() > 1){
+
+ RecurrenceDateValue = TestTask.RecurranceDateDataValue[1];
+
+ }
+
+ ASSERT_EQ("20160121", RecurrenceDate);
+ ASSERT_EQ("DATE", RecurrenceDateValue);
+ ASSERT_EQ("Europe/Truro", RecurrenceDateTimeZoneParam);
+
+ // Get the third RDATE.
+
+ RecurrenceDate.clear();
+
+ std::string RecurrenceTokens;
+
+ if (TestTask.RecurranceDateData.size() > 2){
+
+ RecurrenceDate = TestTask.RecurranceDateData[2];
+
+ }
+
+ if (TestTask.RecurranceDateData.size() > 2){
+
+ RecurrenceTokens = TestTask.RecurranceDateDataTokens[2];
+
+ }
+
+ ASSERT_EQ("20160520", RecurrenceDate);
+ ASSERT_EQ("ZILCH=DATA", RecurrenceTokens);
+