#include <iostream> #include <string.h> #ifndef MEMTRACE #include "memtrace.h" #endif #include <iostream> #include <fstream> #include "adatok.hpp" #include "victor.h" #include "element.h" #include "string5.h" #include "gtest_lite.h" using std::cout; using std::cin; using std::endl; using std::stringstream; int main() { //Generikus t�mb, amiben t�roljuk majd a l�ncolt list�nk victor<Adatok> adatok; TEST(TEST_01, Default konstruktor test){ stringstream egy; adatok.addElement(Adatok(PublikusAdat(), PrivatAdat())); //adatok.kiir(); adatok.testkiir(egy); EXPECT_STREQ("0 0 0 0 0\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_02, Konstruktor teszteles){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.testkiir(egy); EXPECT_STREQ("Kiss Bela 06301111222 beci Pest Virag 24 06304444555\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_03, Egy elem feltoltese){ stringstream egy; String nev = "Kiss Bela", munkaszam = "06301111222", becnev = "beci", lakcim = "Pest Virag 24", privatszam = "06304444555"; adatok.addElement(Adatok(PublikusAdat(nev, munkaszam), PrivatAdat(becnev, lakcim, privatszam))); adatok.testkiir(egy); EXPECT_STREQ("Kiss Bela 06301111222 beci Pest Virag 24 06304444555\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_04, Egy elem torlese){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.addElement(Adatok(PublikusAdat("Nagy Tamas", "06307777888"), PrivatAdat("tomi", "Buda Kerekes 50", "06303333666"))); adatok.deleteElement(0); adatok.testkiir(egy); EXPECT_STREQ("Nagy Tamas 06307777888 tomi Buda Kerekes 50 06303333666\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_05, Ures elem torlese){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.deleteElement(0); adatok.testkiir(egy); EXPECT_STREQ("Nincs adat, nem listazhatsz\n", egy.str().c_str()); }END TEST(TEST_06, Listazas teszteles){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.addElement(Adatok(PublikusAdat("Nagy Tamas", "06307777888"), PrivatAdat("tomi", "Buda Kerekes 50", "06303333666"))); adatok.testkiir(egy); EXPECT_STREQ("Kiss Bela 06301111222 beci Pest Virag 24 06304444555\nNagy Tamas 06307777888 tomi Buda Kerekes 50 06303333666\n", egy.str().c_str()); }END TEST(TEST_07, Ures lista teszteles){ stringstream egy; adatok.deleteElement(1); adatok.deleteElement(0); adatok.testkiir(egy); EXPECT_STREQ("Nincs adat, nem listazhatsz\n", egy.str().c_str()); }END TEST(TEST_08, Fajlba iras){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.testfkiiras(egy); EXPECT_STREQ("A fajlba iras sikeres volt\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_09, Fajlba iras ures){ stringstream egy; adatok.testfkiiras(egy); EXPECT_STREQ("Nincs adat, igy nem irhatsz fajlba\n", egy.str().c_str()); }END TEST(TEST_10, vCard kiiras){ stringstream egy; adatok.addElement(Adatok(PublikusAdat("Kiss Bela", "06301111222"), PrivatAdat("beci", "Pest Virag 24", "06304444555"))); adatok.testvCardkiiras(egy); EXPECT_STREQ("A vCard fajlbairas sikeres volt\n", egy.str().c_str()); adatok.deleteElement(0); }END TEST(TEST_11, vCard ures kiiras){ stringstream egy; adatok.testvCardkiiras(egy); EXPECT_STREQ("Nincs adat, nem tudsz vCardba irni\n", egy.str().c_str()); }END cout<<endl; //Menu cout<< "+------------------------------------------+"<<endl; cout<< "| Udv a telefonkonyvben :))))))) |"<<endl; cout<< "| 1-es: szemely felvetel |" <<endl; cout<< "| 2-as: szemelyek listazasa |" <<endl; cout<< "| 3-es: szemely torlese |" <<endl; cout<< "| 4-es: fajlba iras |" <<endl; cout<< "| 5-os: vCardba iras |" <<endl; cout<< "| 6-os: kilepes |" <<endl; cout<< "+------------------------------------------+" << endl; cout<<endl; bool quit = false; int felvett = 0; int torolt = 0; //Ciklus ami addig fut, am�g ki nem akarunk l�pni while(!quit){ String bejov; cout<< "Mit szeretnel?"; cout<<endl; cin>>bejov; //Ha az 1-est v�lasztja bek�ri az adatokat a felhaszn�l�t�l if (!strcmp(bejov.c_str(), "1")){ String aznev, munkaszam, becenevv, lakcim, privatszam; cout<< "Add meg a nevet szokozzel elvalasztva" << endl; String vezet, kereszt; cin>>vezet>>kereszt; aznev = vezet + " " + kereszt; cout<< "Add meg a munkaszamot" << endl; cin>>munkaszam; cout<< "Add meg a becenevet" << endl; cin>>becenevv; String telep, utca, hazszam; cout<< "Add meg a lakcimet(telepules, utca, hazszam)" << endl; cin>>telep>>utca>>hazszam; lakcim = telep + ";" + utca + " utca;" + ";" + hazszam; cout<< "Add meg a privatszamot" << endl; cin>>privatszam; //Felveszi a bevett adatokat adatok.addElement(Adatok(PublikusAdat(aznev, munkaszam), PrivatAdat(becenevv, lakcim, privatszam))); cout<< "A felvett szemely indexe " << felvett <<endl; felvett++; } //Ha kettest v�laszt kilist�zza a felvett adatokat, a t�r�lteket nem else if (!strcmp(bejov.c_str(), "2")){ adatok.kiir(); } //Kit�rli a megadott index� elemet else if (!strcmp(bejov.c_str(), "3")){ int torol; cout<< "Kit szeretnel torolni? Add meg az indexet"<<endl; cin>>torol; //Ha nagyobb indexet ad meg, mint van, //vagy nem elfogadhat� �rt�ket, akkor nem lehet t�r�lni if (torol >= felvett || torol < 0){ cout<< "Nincs ilyen adat nem torolhetsz"<<endl; } else { //Egy�bk�nt t�r�l adatok.deleteElement(torol-torolt); cout<< "Sikeres torles" <<endl; //cout<< "Az indexek egyel hatrebb csusztak! (pl.: az 1-es 0-as lett)" << endl; torolt++; } } //F�jlba�r�s else if (!strcmp(bejov.c_str(), "4")){ adatok.fkiiras(); } //vCardba �r�s else if (!strcmp(bejov.c_str(), "5")){ adatok.vCardkiiras(); } //Kil�p�s else if (!strcmp(bejov.c_str(), "6")){ quit = true; } //Minden egy�b esetben ki kell l�pni, a Jporta miatt else { quit = true; } } return 0; }