-
Barta Máté Zsombor authoredBarta Máté Zsombor authored
main.cpp 7.44 KiB
#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 tmb, amiben troljuk majd a lncolt listnk
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, amg ki nem akarunk lpni
while(!quit){
String bejov;
cout<< "Mit szeretnel?";
cout<<endl;
cin>>bejov;
//Ha az 1-est vlasztja bekri az adatokat a felhasznltl
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 vlaszt kilistzza a felvett adatokat, a trlteket nem
else if (!strcmp(bejov.c_str(), "2")){
adatok.kiir();
}
//Kitrli 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 rtket, akkor nem lehet trlni
if (torol >= felvett || torol < 0){
cout<< "Nincs ilyen adat nem torolhetsz"<<endl;
}
else {
//Egybknt trl
adatok.deleteElement(torol-torolt);
cout<< "Sikeres torles" <<endl;
//cout<< "Az indexek egyel hatrebb csusztak! (pl.: az 1-es 0-as lett)" << endl;
torolt++;
}
}
//Fjlbars
else if (!strcmp(bejov.c_str(), "4")){
adatok.fkiiras();
}
//vCardba rs
else if (!strcmp(bejov.c_str(), "5")){
adatok.vCardkiiras();
}
//Kilps
else if (!strcmp(bejov.c_str(), "6")){
quit = true;
}
//Minden egyb esetben ki kell lpni, a Jporta miatt
else {
quit = true;
}
}
return 0;
}