Skip to content
Snippets Groups Projects
main.cpp 7.44 KiB
Newer Older
  • Learn to ignore specific revisions
  • Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    #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"
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    #include "gtest_lite.h"
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    
    using std::cout;
    using std::cin;
    using std::endl;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    using std::stringstream;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    
    
    int main()
    {
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        //Generikus tmb, amiben troljuk majd a lncolt listnk
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        victor<Adatok> adatok;
    
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        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;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        cout<< "+------------------------------------------+" << endl;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        cout<<endl;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    
    
    
        bool quit = false;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        int felvett = 0;
        int torolt = 0;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        //Ciklus ami addig fut, amg ki nem akarunk lpni
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
        while(!quit){
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            String bejov;
    
            cout<< "Mit szeretnel?";
            cout<<endl;
            cin>>bejov;
    
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Ha az 1-est vlasztja bekri az adatokat a felhasznltl
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            if (!strcmp(bejov.c_str(), "1")){
                String aznev, munkaszam, becenevv, lakcim, privatszam;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "Add meg a nevet szokozzel elvalasztva" << endl;
                String vezet, kereszt;
                cin>>vezet>>kereszt;
                aznev = vezet + " " + kereszt;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "Add meg a munkaszamot" << endl;
                cin>>munkaszam;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "Add meg a becenevet" << endl;
                cin>>becenevv;
                String telep, utca, hazszam;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "Add meg a lakcimet(telepules, utca, hazszam)" << endl;
                cin>>telep>>utca>>hazszam;
                lakcim = telep + ";" + utca + " utca;" + ";" + hazszam;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "Add meg a privatszamot" << endl;
                cin>>privatszam;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
    
                //Felveszi a bevett adatokat
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                adatok.addElement(Adatok(PublikusAdat(aznev, munkaszam), PrivatAdat(becenevv, lakcim, privatszam)));
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                cout<< "A felvett szemely indexe " << felvett <<endl;
                felvett++;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Ha kettest vlaszt kilistzza a felvett adatokat, a trlteket nem
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else if (!strcmp(bejov.c_str(), "2")){
                adatok.kiir();
            }
    
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Kitrli a megadott index elemet
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else if (!strcmp(bejov.c_str(), "3")){
                int torol;
                cout<< "Kit szeretnel torolni? Add meg az indexet"<<endl;
                cin>>torol;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                //Ha nagyobb indexet ad meg, mint van,
                //vagy nem elfogadhat rtket, akkor nem lehet trlni
                if (torol >= felvett || torol < 0){
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                    cout<< "Nincs ilyen adat nem torolhetsz"<<endl;
                }
                else {
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                    //Egybknt trl
                    adatok.deleteElement(torol-torolt);
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                    cout<< "Sikeres torles" <<endl;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
                    //cout<< "Az indexek egyel hatrebb csusztak! (pl.: az 1-es 0-as lett)" << endl;
                    torolt++;
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Fjlbars
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else if (!strcmp(bejov.c_str(), "4")){
                adatok.fkiiras();
            }
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //vCardba rs
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else if (!strcmp(bejov.c_str(), "5")){
                adatok.vCardkiiras();
            }
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Kilps
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else if (!strcmp(bejov.c_str(), "6")){
                quit = true;
            }
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            //Minden egyb esetben ki kell lpni, a Jporta miatt
    
    Barta Máté Zsombor's avatar
    Barta Máté Zsombor committed
            else {
                quit = true;
            }
        }
        return 0;
    }