+}
+
+TEST(ContactLoad, FreeBusyTests){
+
+ ContactDataObject TestFile;
+
+ // Check that the vCard 4.0 file loads OK.
+
+ ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+ std::map<int,wxString>::iterator TestFileIter;
+ std::map<int,int>::iterator TestFileIntIter;
+
+ // Start with a general calendar request address.
+
+ TestFileIter = TestFile.FreeBusyList.find(0);
+ ASSERT_NE(TestFile.FreeBusyList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/freebusy", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.FreeBusyListType.find(0);
+ ASSERT_EQ(TestFile.FreeBusyListType.end(), TestFileIter);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.FreeBusyListAltID.find(0);
+ ASSERT_NE(TestFile.FreeBusyListAltID.end(), TestFileIter);
+ ASSERT_EQ("74", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.FreeBusyListPID.find(0);
+ ASSERT_NE(TestFile.FreeBusyListPID.end(), TestFileIter);
+ ASSERT_EQ("71", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.FreeBusyListMediatype.find(0);
+ ASSERT_NE(TestFile.FreeBusyListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/plain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.FreeBusyListPref.find(0);
+ ASSERT_NE(TestFile.FreeBusyListPref.end(), TestFileIntIter);
+ ASSERT_EQ(72, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.FreeBusyListTokens.find(0);
+ ASSERT_NE(TestFile.FreeBusyListTokens.end(), TestFileIter);
+ ASSERT_EQ("STATUS=OUT", TestFileIter->second);
+
+ // Start with a home calendar request address.
+
+ TestFileIter = TestFile.FreeBusyList.find(1);
+ ASSERT_NE(TestFile.FreeBusyList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/home/freebusy", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.FreeBusyListType.find(1);
+ ASSERT_NE(TestFile.FreeBusyListType.end(), TestFileIter);
+ ASSERT_EQ("home", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.FreeBusyListAltID.find(1);
+ ASSERT_NE(TestFile.FreeBusyListAltID.end(), TestFileIter);
+ ASSERT_EQ("84", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.FreeBusyListPID.find(1);
+ ASSERT_NE(TestFile.FreeBusyListPID.end(), TestFileIter);
+ ASSERT_EQ("81", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.FreeBusyListMediatype.find(1);
+ ASSERT_NE(TestFile.FreeBusyListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/dryplain", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.FreeBusyListPref.find(1);
+ ASSERT_NE(TestFile.FreeBusyListPref.end(), TestFileIntIter);
+ ASSERT_EQ(82, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.FreeBusyListTokens.find(1);
+ ASSERT_NE(TestFile.FreeBusyListTokens.end(), TestFileIter);
+ ASSERT_EQ("STATUS=FREE", TestFileIter->second);
+
+ // Start with a business calendar request address.
+
+ TestFileIter = TestFile.FreeBusyList.find(2);
+ ASSERT_NE(TestFile.FreeBusyList.end(), TestFileIter);
+ ASSERT_EQ("http://example.com/business/freebusy", TestFileIter->second);
+
+ // Check the TYPE section.
+
+ TestFileIter = TestFile.FreeBusyListType.find(2);
+ ASSERT_NE(TestFile.FreeBusyListType.end(), TestFileIter);
+ ASSERT_EQ("work", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.FreeBusyListAltID.find(2);
+ ASSERT_NE(TestFile.FreeBusyListAltID.end(), TestFileIter);
+ ASSERT_EQ("94", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.FreeBusyListPID.find(2);
+ ASSERT_NE(TestFile.FreeBusyListPID.end(), TestFileIter);
+ ASSERT_EQ("91", TestFileIter->second);
+
+ // Check the MEDIATYPE section.
+
+ TestFileIter = TestFile.FreeBusyListMediatype.find(2);
+ ASSERT_NE(TestFile.FreeBusyListMediatype.end(), TestFileIter);
+ ASSERT_EQ("text/stillwetink", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.FreeBusyListPref.find(2);
+ ASSERT_NE(TestFile.FreeBusyListPref.end(), TestFileIntIter);
+ ASSERT_EQ(92, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.FreeBusyListTokens.find(2);
+ ASSERT_NE(TestFile.FreeBusyListTokens.end(), TestFileIter);
+ ASSERT_EQ("STATUS=BUSY", TestFileIter->second);
+