+TEST(ContactLoad, LanguageTests){
+
+ 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 general language.
+
+ TestFileIter = TestFile.GeneralLanguageList.find(0);
+ ASSERT_NE(TestFile.GeneralLanguageList.end(), TestFileIter);
+ ASSERT_EQ("kw", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.GeneralLanguageListAltID.find(0);
+ ASSERT_NE(TestFile.GeneralLanguageListAltID.end(), TestFileIter);
+ ASSERT_EQ("20", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.GeneralLanguageListPID.find(0);
+ ASSERT_NE(TestFile.GeneralLanguageListPID.end(), TestFileIter);
+ ASSERT_EQ("40", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.GeneralLanguageListPref.find(0);
+ ASSERT_NE(TestFile.GeneralLanguageListPref.end(), TestFileIntIter);
+ ASSERT_EQ(80, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.GeneralLanguageListTokens.find(0);
+ ASSERT_NE(TestFile.GeneralLanguageListTokens.end(), TestFileIter);
+ ASSERT_EQ("GELFORN=Great", TestFileIter->second);
+
+ // Start with the home language.
+
+ TestFileIter = TestFile.HomeLanguageList.find(1);
+ ASSERT_NE(TestFile.HomeLanguageList.end(), TestFileIter);
+ ASSERT_EQ("en", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.HomeLanguageListAltID.find(1);
+ ASSERT_NE(TestFile.HomeLanguageListAltID.end(), TestFileIter);
+ ASSERT_EQ("22", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.HomeLanguageListPID.find(1);
+ ASSERT_NE(TestFile.HomeLanguageListPID.end(), TestFileIter);
+ ASSERT_EQ("45", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.HomeLanguageListPref.find(1);
+ ASSERT_NE(TestFile.HomeLanguageListPref.end(), TestFileIntIter);
+ ASSERT_EQ(90, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.HomeLanguageListTokens.find(1);
+ ASSERT_NE(TestFile.HomeLanguageListTokens.end(), TestFileIter);
+ ASSERT_EQ("LANGUAGE=yes", TestFileIter->second);
+
+ // Start with the business language.
+
+ TestFileIter = TestFile.BusinessLanguageList.find(2);
+ ASSERT_NE(TestFile.BusinessLanguageList.end(), TestFileIter);
+ ASSERT_EQ("cy", TestFileIter->second);
+
+ // Check the ALTID section.
+
+ TestFileIter = TestFile.BusinessLanguageListAltID.find(2);
+ ASSERT_NE(TestFile.BusinessLanguageListAltID.end(), TestFileIter);
+ ASSERT_EQ("10", TestFileIter->second);
+
+ // Check the PID section.
+
+ TestFileIter = TestFile.BusinessLanguageListPID.find(2);
+ ASSERT_NE(TestFile.BusinessLanguageListPID.end(), TestFileIter);
+ ASSERT_EQ("15", TestFileIter->second);
+
+ // Check the PREF section.
+
+ TestFileIntIter = TestFile.BusinessLanguageListPref.find(2);
+ ASSERT_NE(TestFile.BusinessLanguageListPref.end(), TestFileIntIter);
+ ASSERT_EQ(20, TestFileIntIter->second);
+
+ // Check the extra tokens.
+
+ TestFileIter = TestFile.BusinessLanguageListTokens.find(2);
+ ASSERT_NE(TestFile.BusinessLanguageListTokens.end(), TestFileIter);
+ ASSERT_EQ("FFENSTRI=ie", TestFileIter->second);