Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added source code, headers and unit testing to the XML vCard Property for ContactData...
[xestiaab/.git] / source / tests / xestiaab_contactload.h
index 3886d4c..1f910d2 100644 (file)
@@ -157,6 +157,188 @@ TEST(ContactLoad, ContactLoadTests){
 
 }
 
+TEST(ContactLoad, UIDTest){
+
+       ContactDataObject TestFile;
+
+       // Check that the vCard 4.0 file loads OK.
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+       
+       ASSERT_EQ("903588-9082374-989120310-AAFECDBCDF", TestFile.UIDToken);
+
+}
+
+TEST(ContactLoad, SourceTests){
+
+       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 source address.
+       
+       TestFileIter = TestFile.SourceList.find(0);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourcea.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(0);
+       ASSERT_EQ(TestFile.SourceListType.end(), TestFileIter);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(0);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("74", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(0);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("71", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(0);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/plain", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(0);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(72, TestFileIntIter->second);
+       
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(0);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=FEED", TestFileIter->second);
+       
+       // Start with the home source address.
+
+       TestFileIter = TestFile.SourceList.find(1);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourceb.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(1);
+       ASSERT_NE(TestFile.SourceListType.end(), TestFileIter);
+       ASSERT_EQ("home", TestFileIter->second);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(1);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("84", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(1);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("81", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(1);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/plainpaper", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(1);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(82, TestFileIntIter->second);
+
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(1);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=ONLINE", TestFileIter->second);
+
+       // Start with the home source address.
+
+       TestFileIter = TestFile.SourceList.find(2);
+       ASSERT_NE(TestFile.SourceList.end(), TestFileIter);
+       ASSERT_EQ("http://example.com/source/sourcec.vcf", TestFileIter->second);
+       
+       // Check the TYPE section.
+       
+       TestFileIter = TestFile.SourceListType.find(2);
+       ASSERT_NE(TestFile.SourceListType.end(), TestFileIter);
+       ASSERT_EQ("work", TestFileIter->second);
+       
+       // Check the ALTID section.
+       
+       TestFileIter = TestFile.SourceListAltID.find(2);
+       ASSERT_NE(TestFile.SourceListAltID.end(), TestFileIter);
+       ASSERT_EQ("94", TestFileIter->second);
+       
+       // Check the PID section.
+       
+       TestFileIter = TestFile.SourceListPID.find(2);
+       ASSERT_NE(TestFile.SourceListPID.end(), TestFileIter);
+       ASSERT_EQ("91", TestFileIter->second);
+       
+       // Check the MEDIATYPE section.
+       
+       TestFileIter = TestFile.SourceListMediatype.find(2);
+       ASSERT_NE(TestFile.SourceListMediatype.end(), TestFileIter);
+       ASSERT_EQ("text/sandpaper", TestFileIter->second);
+       
+       // Check the PREF section.
+       
+       TestFileIntIter = TestFile.SourceListPref.find(2);
+       ASSERT_NE(TestFile.SourceListPref.end(), TestFileIntIter);
+       ASSERT_EQ(92, TestFileIntIter->second);
+
+       // Check the extra tokens.
+       
+       TestFileIter = TestFile.SourceListTokens.find(2);
+       ASSERT_NE(TestFile.SourceListTokens.end(), TestFileIter);
+       ASSERT_EQ("STATUS=OFFLINE", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, XMLTest){
+
+       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 the first XML property.
+       
+       // Start with a general source address.
+       
+       TestFileIter = TestFile.XMLList.find(0);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/\">Example Page 1</a>", TestFileIter->second);
+
+       TestFileIter = TestFile.XMLList.find(1);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/page2.html\">Example Page 2</a>", TestFileIter->second);
+
+       TestFileIter = TestFile.XMLList.find(2);
+       ASSERT_NE(TestFile.XMLList.end(), TestFileIter);
+       ASSERT_EQ("<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n"
+    "   href=\"http://example.com/page3.html\">Example Page 3</a>", TestFileIter->second);
+
+}
+
 TEST(ContactLoad, NicknameTests){
 
        ContactDataObject TestFile;
@@ -3896,4 +4078,146 @@ TEST(ContactLoad, KeyTests){
 
 }
 
+TEST(ContactLoad, VendorTests){
+
+       ContactDataObject TestFile;
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+       std::map<int,wxString>::iterator TestFileIter;
+       std::map<int,int>::iterator TestFileIntIter;
+
+       // Start with the first vendor namespace.
+       
+       TestFileIter = TestFile.VendorList.find(0);
+       ASSERT_NE(TestFile.VendorList.end(), TestFileIter);
+       ASSERT_EQ("Lemon", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListPEN.find(0);
+       ASSERT_NE(TestFile.VendorListPEN.end(), TestFileIter);
+       ASSERT_EQ("696", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListElement.find(0);
+       ASSERT_NE(TestFile.VendorListElement.end(), TestFileIter);
+       ASSERT_EQ("CAKE", TestFileIter->second);
+
+       // Start with the second vendor namespace.
+       
+       TestFileIter = TestFile.VendorList.find(1);
+       ASSERT_NE(TestFile.VendorList.end(), TestFileIter);
+       ASSERT_EQ("Orange", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListPEN.find(1);
+       ASSERT_NE(TestFile.VendorListPEN.end(), TestFileIter);
+       ASSERT_EQ("696", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListElement.find(1);
+       ASSERT_NE(TestFile.VendorListElement.end(), TestFileIter);
+       ASSERT_EQ("DRINK", TestFileIter->second);
+
+       // Start with the third vendor namespace.
+       
+       TestFileIter = TestFile.VendorList.find(2);
+       ASSERT_NE(TestFile.VendorList.end(), TestFileIter);
+       ASSERT_EQ("Shiena Nishizawa", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListPEN.find(2);
+       ASSERT_NE(TestFile.VendorListPEN.end(), TestFileIter);
+       ASSERT_EQ("696", TestFileIter->second);
+
+       TestFileIter = TestFile.VendorListElement.find(2);
+       ASSERT_NE(TestFile.VendorListElement.end(), TestFileIter);
+       ASSERT_EQ("MUSIC", TestFileIter->second);
+
+}
+
+TEST(ContactLoad, XTokenTest){
+
+       ContactDataObject TestFile;
+
+       ASSERT_EQ(CONTACTLOAD_OK, TestFile.LoadFile("LoadCheck-Load4.vcf"));
+
+       std::map<int,wxString>::iterator TestFileIter;
+       std::map<int,int>::iterator TestFileIntIter;
+
+       // Three X-FARM variables.
+
+       TestFileIter = TestFile.XTokenList.find(0);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Yard", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(0);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FARM", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(1);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Animals", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(1);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FARM", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(2);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Shed", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(2);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FARM;LOCATION=Back;TYPE=Vehicles", TestFileIter->second.ToStdString());
+
+       // Three X-DISKSERIAL variables.
+
+       TestFileIter = TestFile.XTokenList.find(3);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("14444", TestFileIter->second);
+       
+       TestFileIter = TestFile.XTokenListTokens.find(3);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("DISKSERIAL", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(4);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("7555", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(4);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("DISKSERIAL", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(5);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("3250539032590", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(5);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("DISKSERIAL;STATUS=DESTROYED;TYPE=FLASH", TestFileIter->second.ToStdString());
+
+       // Three X-FOODS variables.
+
+       TestFileIter = TestFile.XTokenList.find(6);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Lemon Cake", TestFileIter->second);
+       
+       TestFileIter = TestFile.XTokenListTokens.find(6);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FOODS;STATUS=HIGH", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(7);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Starrey Gazey Pie", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(7);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FOODS;STATUS=LOW", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenList.find(8);
+       ASSERT_NE(TestFile.XTokenList.end(), TestFileIter);
+       ASSERT_EQ("Cornish Pasties", TestFileIter->second);
+
+       TestFileIter = TestFile.XTokenListTokens.find(8);
+       ASSERT_NE(TestFile.XTokenListTokens.end(), TestFileIter);
+       ASSERT_EQ("FOODS;STATUS=FAVOURITE;TYPE=CHEESEANDONION", TestFileIter->second.ToStdString());
+
+}
+
 // TODO: Add tests for the Contact Loading process.
\ 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