X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Ftests%2Fxestiaab_contactsave.h;h=b0842daec51ec28ec59c09c673ff1aa3be004734;hb=b9a352b6f763186a361ae152e9d1e48913bdb1e3;hp=d243005fdbd83c690755c2728e16fccbefa98656;hpb=b16a0672e8bcbc1840a5f2284dbf562963aca6b1;p=xestiaab%2F.git diff --git a/source/tests/xestiaab_contactsave.h b/source/tests/xestiaab_contactsave.h index d243005..b0842da 100644 --- a/source/tests/xestiaab_contactsave.h +++ b/source/tests/xestiaab_contactsave.h @@ -18,4 +18,122 @@ #include -// TODO: Add tests for the Contact Saving process. \ No newline at end of file +#include "../contacteditor/cdo/ContactDataObject.h" + +TEST(ContactSave, ContactSaveTests){ + + ContactDataObject TestFile1; + ContactDataObject TestFile2; + ContactDataObject TestFile3; + + wxString SaveData; + wxString SaveDataCompare = "BEGIN:VCARD\n" + "VERSION:4.0\n" + "PRODID:-//Xestia//Address Book Unit Testing//KW\n" + "FN:Test vCard\n" + "TITLE:Knight of the Tests\n" + "TITLE:The Tester of Cornwall\n" + "END:VCARD"; + + ASSERT_EQ(CONTACTLOAD_OK, TestFile1.LoadFile("LoadCheck-Load1.vcf")); + + ASSERT_EQ(CONTACTSAVE_OK, TestFile1.SaveString(&SaveData)); + + ASSERT_EQ(SaveDataCompare, SaveData); + + ASSERT_EQ(CONTACTLOAD_OK, TestFile2.LoadFile("LoadCheck-Load2.vcf")); + + SaveData.clear(); + SaveDataCompare = "BEGIN:VCARD\n" + "VERSION:4.0\n" + "PRODID:-//Xestia//Address Book Unit Testing//KW\n" + "FN:Test vCard\n" + "TITLE:The Third Title\n" + "TITLE:Knight of the Tests\n" + "TITLE:The Tester of Cornwall\n" + "END:VCARD"; + + ASSERT_EQ(CONTACTSAVE_OK, TestFile2.SaveString(&SaveData)); + ASSERT_EQ(SaveDataCompare, SaveData); + + SaveData.clear(); + SaveDataCompare = "BEGIN:VCARD\n" + "VERSION:4.0\n" + "PRODID:-//Xestia//Address Book Unit Testing//KW\n" + "UID:903588-9082374-989120310-AAFECDBCDF\n" + "KIND:individual\n" + "XML:Ex\n" + " ample Page 1\n" + "XML;ALTID=3:Example Page 2\n" + "XML;ALTID=5:Example Page 3\n" + "SOURCE;ALTID=74;MEDIATYPE=text/plain;PID=71;PREF=72;STATUS=FEED:http://exampl\n" + " e.com/source/sourcea.vcf\n" + "SOURCE;TYPE=home;ALTID=84;MEDIATYPE=text/plainpaper;PID=81;PREF=82;STATUS=ONL\n" + " INE:http://example.com/source/sourceb.vcf\n" + "SOURCE;TYPE=work;ALTID=94;MEDIATYPE=text/sandpaper;PID=91;PREF=92;STATUS=OFFL\n" + " INE:http://example.com/source/sourcec.vcf\n" + "CLIENTPIDMAP:1;urn;uuid:aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\n" + "CLIENTPIDMAP:2;urn;uuid:ccccccccc-cccc-cccc-cccc-cccccccccccc\n" + "CLIENTPIDMAP;MEEP=MOO;WOOP=WOO:3;urn;uuid:bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb\n" + " bb\n" + "FN;TYPE=work;LANGUAGE=kw;ALTID=500;PID=40;PREF=45;EXAMPLE=Baaa:Test Contact\n" + "NICKNAME;ALTID=35;LANGUAGE=kw;PID=50;PREF=40;YAY=Nope;Beep=Boop:Tester\n" + "NICKNAME;TYPE=home;ALTID=17;LANGUAGE=en;PID=39;PREF=78;YAY=Yep;Beep=Boop:Test\n" + " y\n" + "NICKNAME;TYPE=work;ALTID=99;LANGUAGE=en-GB;PID=10;PREF=1;YAY=Maybe;Boop=Boing\n" + " :The Testing One\n" + "TITLE;ALTID=20;LANGUAGE=text/plain;PID=21;PREF=22;EEP=LIGHT:Lord of Light\n" + "TITLE;TYPE=home;ALTID=30;LANGUAGE=grass/dry;PID=31;PREF=32;EEP=DARK:Lord of D\n" + " arkness\n" + "TITLE;TYPE=work;ALTID=40;LANGUAGE=moths/eew;PID=41;PREF=42;EEP=BOTH:Master of\n" + " the Light & Darkness\n" + "TZ;ALTID=35;MEDIATYPE=text/plain;PID=60;PREF=20;WHATS=This;A=Potato:Europe/Tr\n" + " uro\n" + "TZ;TYPE=home;ALTID=15;MEDIATYPE=text/plain;PID=20;PREF=40;MAYBE=not:Europe/Pe\n" + " nzance\n" + "TZ;TYPE=work;ALTID=45;MEDIATYPE=text/plain;PID=70;PREF=80;MAYBE=yes:Europe/St\n" + " Austell\n" + "ADR;ALTID=15;GEO=\"geo:1.0, 1.0\";LABEL=\"1 Lovely Lane\\nRodney\\nCornwall\\nPL99 \n" + " 1AA\\nCornwall\\nUnited Kingdom\";LANGUAGE=kw;MEDIATYPE=text/plain;PID=81;PREF=\n" + " 98;TZ=Europe/Truro;MAKES=Moo;ANIMAL=Cow:;;1 Lovely Lane;Rodney;Cornwall;PL99\n" + " 1AA;United Kingdom\n" + "ADR;TYPE=home;ALTID=40;GEO=\"geo:4.0, 4.0\";LABEL=\"3 Working Plaice\\nRoger\\nCor\n" + " nwall\\nPL75 4ZZ\\nCornwall\\nUnited Kingdom\";LANGUAGE=en;MEDIATYPE=text/plain;\n" + " PID=13;PREF=10;TZ=Europe/St Ives;TOAST=Butter:;;3 Working Plaice;Roger;Cornw\n" + " all;PL75 4ZZ;United Kingdom\n" + "ADR;TYPE=work;ALTID=45;GEO=\"geo:7.0, 7.0\";LABEL=\"7 Flyby Drive\\nElaine\\nCornw\n" + " all\\nPL84 9YE\\nCornwall\\nUnited Kingdom\";LANGUAGE=en-GB;MEDIATYPE=text/plain\n" + " ;PID=28;PREF=10;TZ=Europe/Newquay;JAM=Red:;;7 Flyby Drive;Elaine;Cornwall;PL\n" + " 84 9YE;United Kingdom\n" + "EMAIL;ALTID=10;PID=20;PREF=40;WONDERFUL=Colour:moo@example.com\n" + "EMAIL;TYPE=home;ALTID=5;PID=10;PREF=20;PEACE=quiet:moo.home@example.com\n" + "EMAIL;TYPE=work;ALTID=1;PID=2;PREF=3;BUSINESS=Money:moo.business@example.com\n" + "LANG;ALTID=20;PID=40;PREF=80;GELFORN=Great:kw\n" + "LANG;TYPE=home;ALTID=22;PID=45;PREF=90;LANGUAGE=yes:en\n" + "LANG;TYPE=work;ALTID=10;PID=15;PREF=20;FFENSTRI=ie:cy\n" + "GEO;ALTID=13;MEDIATYPE=text/plain;PID=26;PREF=39;POS=Yep:geo:3.5,3.5\n" + "GEO;TYPE=home;ALTID=140;MEDIATYPE=text/ratherplain;PID=70;PREF=1;POS=Nope:geo\n" + " :7.0,7.0\n" + "GEO;TYPE=work;ALTID=75;MEDIATYPE=text/greenplain;PID=32;PREF=4;POS=Money:geo:\n" + " 14.0,14.0\n" + "RELATED;TYPE=kin;ALTID=5;PID=10;PREF=20;OPTION=Yes:Friend Test\n" + "RELATED;TYPE=spouse;ALTID=1;PID=2;PREF=3;OPTION=No:Friend Test Two\n" + "RELATED;TYPE=muse;ALTID=4;PID=5;PREF=6;OPTION=Maybe:Friend Test Three\n" + "URL;ALTID=0;MEDIATYPE=text/plain;PID=1;PREF=2;MEEP=Moo:http://example.com/\n" + "URL;TYPE=home;ALTID=10;MEDIATYPE=grass/soggy;PID=11;PREF=12;BON=Bon:http://ex\n" + " ample.com/home/\n" + "URL;TYPE=work;ALTID=20;MEDIATYPE=chocolate/yummy;PID=21;PREF=22;YES=No:http:/\n" + " /example.com/business/\n" + "END:VCARD"; + + ASSERT_EQ(CONTACTLOAD_OK, TestFile3.LoadFile("LoadCheck-Load4.vcf")); + ASSERT_EQ(CONTACTSAVE_OK, TestFile3.SaveString(&SaveData)); + + std::cout << SaveData << std::endl; + std::cout << SaveDataCompare << std::endl; + + ASSERT_EQ(SaveDataCompare, SaveData); + +} \ No newline at end of file