+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 0){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[0];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[0];
+
+ }
+
+ ASSERT_EQ("20160206T020000", dateTimeStartData);
+ ASSERT_EQ("MEEP=MOO", dateTimeStartTokens);
+ ASSERT_EQ("-0400", timeZoneOffsetToData);
+ ASSERT_EQ("EXAMPLE=DATA", timeZoneOffsetToTokens);
+ ASSERT_EQ("-0500", timeZoneOffsetFromData);
+ ASSERT_EQ("LETS=GO", timeZoneOffsetFromTokens);
+
+ ASSERT_EQ("Example timezone comment.", commentList);
+ ASSERT_EQ("null:nodata", commentListAltRep);
+ ASSERT_EQ("kw", commentListLanguage);
+ ASSERT_EQ("YO=YOYOS", commentListTokens);
+
+ ASSERT_EQ("FREQ=DAILY;COUNT=10", recurranceRuleData);
+ ASSERT_EQ("YAK=YES", recurranceRuleDataTokens);
+
+ ASSERT_EQ("20160205,20160207,20160216,20160305", recurranceDateData);
+ ASSERT_EQ("DATE", recurranceDateValue);
+ ASSERT_EQ("Europe/Truro", recurranceDateDataTimeZoneParam);
+ ASSERT_EQ("BEEP=BOOP", recurranceDateDataTokens);
+
+ ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
+ ASSERT_EQ("en", timeZoneNameLanguage);
+ ASSERT_EQ("NOPE=YES", timeZoneNameTokens);
+
+ ASSERT_EQ("Example Timezone Name 1", timeZoneNameData);
+ ASSERT_EQ("en", timeZoneNameLanguage);
+
+ ASSERT_EQ("Meep", xTokensData);
+ ASSERT_EQ("X-MOO", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 1){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[1];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[1];
+
+ }
+
+ ASSERT_EQ("Moop", xTokensData);
+ ASSERT_EQ("X-MOO", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 2){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[2];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[2];
+
+ }
+
+ ASSERT_EQ("Zaap", xTokensData);
+ ASSERT_EQ("X-MOO;MEEP=YIKES", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 3){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[3];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[3];
+
+ }
+
+ ASSERT_EQ("Fork", xTokensData);
+ ASSERT_EQ("X-ITEM", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 4){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[4];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[4];
+
+ }
+
+ ASSERT_EQ("Spoon", xTokensData);
+ ASSERT_EQ("X-ITEM", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 5){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[5];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[5];
+
+ }
+
+ ASSERT_EQ("Knife", xTokensData);
+ ASSERT_EQ("X-ITEM;DIRTY=NO", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 6){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[6];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[6];
+
+ }
+
+ ASSERT_EQ("1", xTokensData);
+ ASSERT_EQ("X-NOPE", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 7){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[7];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[7];
+
+ }
+
+ ASSERT_EQ("2", xTokensData);
+ ASSERT_EQ("X-NOPE", xTokensDataTokens);
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ if (testTimezone.timezoneStandardCollection.size() > 2 &&
+ testTimezone.timezoneStandardCollection[2].xTokensData.size() > 8){
+
+ xTokensData = testTimezone.timezoneStandardCollection[2].xTokensData[8];
+ xTokensDataTokens = testTimezone.timezoneStandardCollection[2].xTokensDataTokens[8];
+
+ }
+
+ ASSERT_EQ("3", xTokensData);
+ ASSERT_EQ("X-NOPE;LONG=YES", xTokensDataTokens);
+
+ // Tests for the first DAYLIGHT data.
+
+ dateTimeStartData.clear();
+ timeZoneOffsetToData.clear();
+ timeZoneOffsetFromData.clear();
+
+ if (testTimezone.timezoneDaylightCollection.size() > 0){
+
+ dateTimeStartData = testTimezone.timezoneDaylightCollection[0].dateTimeStartData;
+
+ }
+
+ if (testTimezone.timezoneDaylightCollection.size() > 0){
+
+ timeZoneOffsetToData = testTimezone.timezoneDaylightCollection[0].timeZoneOffsetToData;
+
+ }
+
+ if (testTimezone.timezoneDaylightCollection.size() > 0){
+
+ timeZoneOffsetFromData = testTimezone.timezoneDaylightCollection[0].timeZoneOffsetFromData;
+
+ }
+
+ ASSERT_EQ("20160204T020000", dateTimeStartData);
+ ASSERT_EQ("-0400", timeZoneOffsetToData);
+ ASSERT_EQ("-0500", timeZoneOffsetFromData);
+
+ // Tests for the second DAYLIGHT data.
+
+ dateTimeStartTokens.clear();
+ timeZoneOffsetToTokens.clear();
+ timeZoneOffsetFromTokens.clear();
+
+ recurranceRuleData.clear();
+ recurranceRuleDataTokens.clear();
+
+ commentList.clear();
+ commentListAltRep.clear();
+ commentListLanguage.clear();
+ commentListTokens.clear();
+
+ recurranceDateData.clear();
+ recurranceDateValue.clear();
+ recurranceDateDataTimeZoneParam.clear();
+ recurranceDateDataTokens.clear();
+
+ timeZoneNameData.clear();
+ timeZoneNameLanguage.clear();
+ timeZoneNameTokens.clear();
+
+ xTokensData.clear();
+ xTokensDataTokens.clear();
+
+ dateTimeStartData.clear();
+ timeZoneOffsetToData.clear();
+ timeZoneOffsetFromData.clear();
+
+ if (testTimezone.timezoneDaylightCollection.size() > 1){
+
+ dateTimeStartData = testTimezone.timezoneDaylightCollection[1].dateTimeStartData;
+ dateTimeStartTokens = testTimezone.timezoneDaylightCollection[1].dateTimeStartTokens;
+
+ }
+
+ if (testTimezone.timezoneDaylightCollection.size() > 1){
+
+ timeZoneOffsetToData = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetToData;
+ timeZoneOffsetToTokens = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetToTokens;
+
+ }
+
+ if (testTimezone.timezoneDaylightCollection.size() > 1){
+
+ timeZoneOffsetFromData = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetFromData;
+ timeZoneOffsetFromTokens = testTimezone.timezoneDaylightCollection[1].timeZoneOffsetFromTokens;
+
+ }