Fixed Doxygen comments and tests
This commit is contained in:
parent
61ecb1aace
commit
4f6a24b943
5 changed files with 103 additions and 55 deletions
|
@ -1,7 +1,7 @@
|
||||||
cmake_minimum_required(VERSION 3.15)
|
cmake_minimum_required(VERSION 3.15)
|
||||||
project(hf_naptar)
|
project(hf_naptar)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 98)
|
||||||
set(CMAKE_CXX_FLAGS "-Wall -Werror")
|
set(CMAKE_CXX_FLAGS "-Wall -Werror")
|
||||||
add_library(hf_naptar Datum.h Datum.cpp evfordulo.h evfordulo.cpp Naptar.cpp Naptar.h memtrace.cpp memtrace.h)
|
add_library(hf_naptar Datum.h Datum.cpp evfordulo.h evfordulo.cpp Naptar.cpp Naptar.h memtrace.cpp memtrace.h)
|
||||||
add_executable(hf_naptar_test main.cpp gtest_lite.h memtrace.cpp memtrace.h)
|
add_executable(hf_naptar_test main.cpp gtest_lite.h memtrace.cpp memtrace.h)
|
||||||
|
|
16
Datum.h
16
Datum.h
|
@ -71,14 +71,14 @@ public:
|
||||||
|
|
||||||
Datum& operator=(const Datum& date);
|
Datum& operator=(const Datum& date);
|
||||||
|
|
||||||
virtual ~Datum() {}
|
virtual ~Datum() {}
|
||||||
virtual bool equal(const Datum& d) const;
|
virtual bool equal(const Datum& d) const;
|
||||||
/*!
|
/*!
|
||||||
* @brief Egyenlőséget ellenőrző operátor
|
* @brief Egyenlőséget ellenőrző operátor
|
||||||
* @param nap2 Az a Datum,amivel össze akarjuk hasonlítani a jelenlegi dátumot.
|
* @param nap2 Az a Datum,amivel össze akarjuk hasonlítani a jelenlegi dátumot.
|
||||||
* @return Az egyenlőséget jelző logikai érték
|
* @return Az egyenlőséget jelző logikai érték
|
||||||
*/
|
*/
|
||||||
bool operator==(const Datum&nap1) const;
|
bool operator==(const Datum&nap1) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Egyenlőtlenséget ellenőrző operátor
|
* @brief Egyenlőtlenséget ellenőrző operátor
|
||||||
|
|
28
MainWindow.h
28
MainWindow.h
|
@ -12,16 +12,40 @@
|
||||||
#include <gtkmm/filechooserdialog.h>
|
#include <gtkmm/filechooserdialog.h>
|
||||||
|
|
||||||
class MainWindow : public Gtk::Window {
|
class MainWindow : public Gtk::Window {
|
||||||
|
/*!
|
||||||
|
* @brief Bejelöli a foglalt dátumokat a naptárban
|
||||||
|
*/
|
||||||
void markDay();
|
void markDay();
|
||||||
|
/*!
|
||||||
|
* @brief A kijelölt nap alapján frissíti a nap leírásának szövegét.
|
||||||
|
*/
|
||||||
void daySelected();
|
void daySelected();
|
||||||
|
/*!
|
||||||
|
* @brief Bezárja a névjegy ablakot
|
||||||
|
*/
|
||||||
void aboutWinClose();
|
void aboutWinClose();
|
||||||
|
/*!
|
||||||
|
* @brief Bezárja a Nap hozzáadó ablakot
|
||||||
|
*/
|
||||||
void addDateWinClose();
|
void addDateWinClose();
|
||||||
|
/*!
|
||||||
|
* @brief Megnyitja a nap hozzáadó ablakot
|
||||||
|
*/
|
||||||
void addDate();
|
void addDate();
|
||||||
|
/*!
|
||||||
|
* @brief Megnyitja az évforduló hozzáadó ablakot
|
||||||
|
*/
|
||||||
void addAnniversary();
|
void addAnniversary();
|
||||||
|
/*!
|
||||||
|
* @brief Megnyitja a névjegy ablakot
|
||||||
|
*/
|
||||||
void about();
|
void about();
|
||||||
|
/*!
|
||||||
|
* @brief Importál egy pontosvesszővel elválasztott CSV fájlt
|
||||||
|
*/
|
||||||
void importFile();
|
void importFile();
|
||||||
void exportFile();
|
void exportFile();
|
||||||
protected:
|
protected:
|
||||||
Naptar np;
|
Naptar np;
|
||||||
Glib::RefPtr<Gtk::Builder> builder;
|
Glib::RefPtr<Gtk::Builder> builder;
|
||||||
Gtk::Calendar* cal;
|
Gtk::Calendar* cal;
|
||||||
|
@ -29,7 +53,7 @@ class MainWindow : public Gtk::Window {
|
||||||
Gtk::MenuItem* mitem;
|
Gtk::MenuItem* mitem;
|
||||||
AboutWindow* aboutw;
|
AboutWindow* aboutw;
|
||||||
AddDateWindow* addDatew;
|
AddDateWindow* addDatew;
|
||||||
public:
|
public:
|
||||||
MainWindow(BaseObjectType* b,const Glib::RefPtr<Gtk::Builder>& refGlade);
|
MainWindow(BaseObjectType* b,const Glib::RefPtr<Gtk::Builder>& refGlade);
|
||||||
virtual ~MainWindow();
|
virtual ~MainWindow();
|
||||||
};
|
};
|
||||||
|
|
80
Naptar.h
80
Naptar.h
|
@ -10,6 +10,7 @@
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
#include <iterator>
|
||||||
|
|
||||||
#include "Datum.h"
|
#include "Datum.h"
|
||||||
|
|
||||||
|
@ -24,7 +25,9 @@ class Naptar {
|
||||||
Datum **napok;
|
Datum **napok;
|
||||||
//! A tömb aktuális mérete
|
//! A tömb aktuális mérete
|
||||||
size_t db;
|
size_t db;
|
||||||
|
/*!
|
||||||
|
* @brief Rendezi a dinamikusan foglalt tömböt, időrendben növekvőre.
|
||||||
|
*/
|
||||||
void rendez();
|
void rendez();
|
||||||
public:
|
public:
|
||||||
class iterator;
|
class iterator;
|
||||||
|
@ -43,6 +46,9 @@ public:
|
||||||
/*!
|
/*!
|
||||||
* @brief Konstruktor első elemmel
|
* @brief Konstruktor első elemmel
|
||||||
* @param n Az első elem
|
* @param n Az első elem
|
||||||
|
* \code{.cpp}
|
||||||
|
* Naptar np(new Datum());
|
||||||
|
* \endcode
|
||||||
*/
|
*/
|
||||||
Naptar(Datum* n);
|
Naptar(Datum* n);
|
||||||
|
|
||||||
|
@ -85,7 +91,7 @@ public:
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Hozzáad egy új elemet a listához.
|
* @brief Hozzáad egy új elemet a listához.
|
||||||
* @param n A hozzáadandó datum osztály
|
* @param n A hozzáadandó datum osztály mutató
|
||||||
* @warning Ha a dátum már foglalt, kivételt dob.
|
* @warning Ha a dátum már foglalt, kivételt dob.
|
||||||
*/
|
*/
|
||||||
void hozzaad(Datum* n);
|
void hozzaad(Datum* n);
|
||||||
|
@ -99,17 +105,25 @@ public:
|
||||||
*/
|
*/
|
||||||
void hozzaad(int ev, int honap, int nap);
|
void hozzaad(int ev, int honap, int nap);
|
||||||
/*!
|
/*!
|
||||||
* @brief Kiirja a megadott évre tervezett eseményeket
|
* @brief Kiírja a megadott évre tervezett eseményeket
|
||||||
* @param ev Az év,amely eseményeit szeretnénk kiírni
|
* @param ev Az év,amely eseményeit szeretnénk kiírni
|
||||||
|
* @param os A stream amire kiírja
|
||||||
|
* @param spacer A karakter,amivel a tagokat elválasztja
|
||||||
*/
|
*/
|
||||||
void printTable(int ev,std::ostream& os=std::cout,char spacer='\t');
|
void printTable(int ev,std::ostream& os=std::cout,char spacer='\t');
|
||||||
/*!
|
/*!
|
||||||
* @brief Kiirja a megadott hónapra tervezett eseményeket
|
* @brief Kiírja a megadott hónapra tervezett eseményeket
|
||||||
* @param ev Az év,amely eseményeit szeretnénk kiírni
|
* @param ev Az év,amely eseményeit szeretnénk kiírni
|
||||||
* @param honap A hónap,amely eseményeit szeretnénk kiírni
|
* @param honap A hónap,amely eseményeit szeretnénk kiírni
|
||||||
|
* @param os A stream amire kiírja
|
||||||
|
* @param spacer A karakter,amivel a tagokat elválasztja
|
||||||
*/
|
*/
|
||||||
void printTable(int ev,int honap,std::ostream& os=std::cout,char spacer='\t');
|
void printTable(int ev,int honap,std::ostream& os=std::cout,char spacer='\t');
|
||||||
|
/*!
|
||||||
|
* @brief Kiírja az összes bejegyzett eseményt
|
||||||
|
* @param os A stream amire kiírja
|
||||||
|
* @param spacer A karakter,amivel a tagokat elválasztja
|
||||||
|
*/
|
||||||
void printAll(std::ostream& os=std::cout,char spacer='\t');
|
void printAll(std::ostream& os=std::cout,char spacer='\t');
|
||||||
/*!
|
/*!
|
||||||
* @brief A naptár tartalmát kimenti egy CSV fájlba
|
* @brief A naptár tartalmát kimenti egy CSV fájlba
|
||||||
|
@ -118,14 +132,18 @@ public:
|
||||||
* A CSV táblázat oszlopai pontosvesszővel( ; ),a sorai sortöréssel vannak elválasztva.
|
* A CSV táblázat oszlopai pontosvesszővel( ; ),a sorai sortöréssel vannak elválasztva.
|
||||||
*/
|
*/
|
||||||
void exportCSV(const char* path);
|
void exportCSV(const char* path);
|
||||||
|
/*!
|
||||||
|
* @brief Egy CSV fájlból kiolvas Dátumokat,és ha szabad, behelyezi azokat a naptárba.
|
||||||
|
* @param path A fájl elérési útvonala
|
||||||
|
* @note A CSV táblázat oszlopai pontosvesszővel( ; ),a sorai sortöréssel vannak elválasztva.
|
||||||
|
*/
|
||||||
|
void importCSV(const char* path);
|
||||||
/*!
|
/*!
|
||||||
* @brief Destruktor. Itt törlődik az összes elem.
|
* @brief Destruktor. Itt törlődik az összes elem.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void importCSV(const char* path);
|
|
||||||
|
|
||||||
virtual ~Naptar();
|
virtual ~Naptar();
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Bejáró kezdete
|
* @brief Bejáró kezdete
|
||||||
* @return Bejáró kezdete
|
* @return Bejáró kezdete
|
||||||
|
@ -147,29 +165,17 @@ public:
|
||||||
* @note Az események időrendi sorrendben vannak
|
* @note Az események időrendi sorrendben vannak
|
||||||
*/
|
*/
|
||||||
iterator at(size_t id);
|
iterator at(size_t id);
|
||||||
/*!
|
|
||||||
* @brief Érték adó operátor
|
|
||||||
* @param np A lemásolandó Naptár objektum
|
|
||||||
* @return A lemásolt objektum
|
|
||||||
*/
|
|
||||||
Naptar&operator=(const Naptar& np);
|
|
||||||
/*!
|
|
||||||
* Másoló konstruktor
|
|
||||||
* @param np A lemásolandó Naptár objektum
|
|
||||||
*/
|
|
||||||
Naptar(Naptar& np);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Tömb iteráló(bejáró)
|
* Tömb iteráló(bejáró)
|
||||||
*/
|
*/
|
||||||
class iterator {
|
class iterator{
|
||||||
//! Mutató az aktuális elemre
|
//! Mutató az aktuális elemre
|
||||||
Datum **akt;
|
Datum **akt;
|
||||||
//! Mutató a tömb végére
|
//! Mutató a tömb végére
|
||||||
Datum **veg;
|
Datum **veg;
|
||||||
public:
|
public:
|
||||||
//! Paraméter nélkül hívható konstruktor
|
//! Paraméter nélkül hívható konstruktor
|
||||||
iterator() : akt(nullptr), veg(nullptr) {};
|
iterator() : akt(NULL), veg(NULL) {};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @param nptr Naptár osztály,amihez szeretnénk a bejárót
|
* @param nptr Naptár osztály,amihez szeretnénk a bejárót
|
||||||
|
@ -187,19 +193,35 @@ public:
|
||||||
* @brief iterator léptetése (preinkrementer)
|
* @brief iterator léptetése (preinkrementer)
|
||||||
*/
|
*/
|
||||||
iterator operator++();
|
iterator operator++();
|
||||||
|
/*!
|
||||||
|
* @brief iterator léptetése visszafelé
|
||||||
|
*/
|
||||||
iterator operator--();
|
iterator operator--();
|
||||||
|
/*!
|
||||||
|
* @brief iterator léptetése egy megadott számmal előre
|
||||||
|
* @param n Ahánnyal léptetni szeretnénk
|
||||||
|
*/
|
||||||
iterator operator+(int n);
|
iterator operator+(int n);
|
||||||
|
/*!
|
||||||
|
* @brief iterator léptetése egy megadott számmal hátra
|
||||||
|
* @param n Ahánnyal léptetni szeretnénk
|
||||||
|
*/
|
||||||
iterator operator-(int n);
|
iterator operator-(int n);
|
||||||
|
/*!
|
||||||
|
* @brief Két iterátort összehasonlít az alapján,hogy melyik van közelebba végéhez
|
||||||
|
*/
|
||||||
bool operator<(iterator i);
|
bool operator<(iterator i);
|
||||||
/*!
|
/*!
|
||||||
* @brief iterator léptetése (postinkrementer)
|
* @brief iterator léptetése (postinkrementer)
|
||||||
*/
|
*/
|
||||||
iterator operator++(int i);
|
iterator operator++(int i);
|
||||||
|
/*!
|
||||||
|
* @brief iterator léptetése visszafelé
|
||||||
|
*/
|
||||||
iterator operator--(int i);
|
iterator operator--(int i);
|
||||||
|
/*!
|
||||||
|
* @brief Nyil operátor
|
||||||
|
*/
|
||||||
Datum *operator->();
|
Datum *operator->();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -223,12 +245,6 @@ public:
|
||||||
*/
|
*/
|
||||||
int operator-(const iterator &it);
|
int operator-(const iterator &it);
|
||||||
|
|
||||||
using difference_type = std::ptrdiff_t;
|
|
||||||
using value_type = Datum;
|
|
||||||
using pointer = const Datum**;
|
|
||||||
using reference = const Datum&;
|
|
||||||
using iterator_category = std::random_access_iterator_tag;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
30
main.cpp
30
main.cpp
|
@ -12,7 +12,10 @@
|
||||||
Naptar np;
|
Naptar np;
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
||||||
|
|
||||||
#if NAPTAR_TESZT >= 1
|
#if NAPTAR_TESZT >= 1
|
||||||
|
TEST(Datum,ALL){
|
||||||
Datum n1;
|
Datum n1;
|
||||||
EXPECT_EQ(n1.getEv(),1970) << "Rossz alapértelmezett év!";
|
EXPECT_EQ(n1.getEv(),1970) << "Rossz alapértelmezett év!";
|
||||||
EXPECT_EQ(n1.getHonap(),1) << "Rossz alapértelmezett hónap";
|
EXPECT_EQ(n1.getHonap(),1) << "Rossz alapértelmezett hónap";
|
||||||
|
@ -26,10 +29,11 @@ int main() {
|
||||||
EXPECT_EQ(n1,n1) << "Rossz a hasonlítas?";
|
EXPECT_EQ(n1,n1) << "Rossz a hasonlítas?";
|
||||||
EXPECT_NE(n1,n2) << "Rossz a hasonlítas?";
|
EXPECT_NE(n1,n2) << "Rossz a hasonlítas?";
|
||||||
|
|
||||||
EXPECT_FALSE(n1 > n2) << "Rossz a hasonlítas?";
|
EXPECT_FALSE(n1 > n2) << "Rossz operator>";
|
||||||
EXPECT_TRUE(n1 < n2) << "Rossz a hasonlítas?";
|
EXPECT_TRUE(n1 < n2) << "Rossz operator>";
|
||||||
EXPECT_TRUE(n1 <= n2) << "Rossz a hasonlítas?";
|
EXPECT_TRUE(n1 <= n2) << "Rossz operator<=";
|
||||||
EXPECT_TRUE(n1 <= n1) << "Rossz a hasonlítas?";
|
EXPECT_TRUE(n1 <= n1) << "Rossz operator<=";
|
||||||
|
EXPECT_TRUE(n1 != n2) << "Rossz operator!=";
|
||||||
Datum n3 = n2;
|
Datum n3 = n2;
|
||||||
EXPECT_TRUE(n2 == n3) << "Rossz masolo!";
|
EXPECT_TRUE(n2 == n3) << "Rossz masolo!";
|
||||||
n2 = n2;
|
n2 = n2;
|
||||||
|
@ -46,10 +50,11 @@ int main() {
|
||||||
EXPECT_EQ(n2.getUnixTime(),958435200) << "Rossz Unix ido!";
|
EXPECT_EQ(n2.getUnixTime(),958435200) << "Rossz Unix ido!";
|
||||||
|
|
||||||
|
|
||||||
|
} END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NAPTAR_TESZT >= 2
|
#if NAPTAR_TESZT >= 2
|
||||||
|
TEST(Naptar,ALL) {
|
||||||
Naptar np1;
|
Naptar np1;
|
||||||
EXPECT_EQ(np1.size(), (size_t)0) << "Rossz meret!";
|
EXPECT_EQ(np1.size(), (size_t)0) << "Rossz meret!";
|
||||||
|
|
||||||
|
@ -59,19 +64,22 @@ int main() {
|
||||||
|
|
||||||
np1.hozzaad(new Datum(2000,5,16,"Ekkor szulettem"));
|
np1.hozzaad(new Datum(2000,5,16,"Ekkor szulettem"));
|
||||||
np1.hozzaad(new Datum());
|
np1.hozzaad(new Datum());
|
||||||
|
EXPECT_EQ(1970,np1.at(0)->getEv()) << "Nem jó a rendezés?";
|
||||||
// np1.exportCSV("test.csv");
|
// np1.exportCSV("test.csv");
|
||||||
np1.importCSV("test.csv");
|
np1.importCSV("test.csv");
|
||||||
np1.printAll();
|
np1.printAll();
|
||||||
EXPECT_EQ(np1.size() , (size_t)2) << "Rossz meret!";
|
EXPECT_EQ((size_t)2,np1.size()) << "Rossz meret!";
|
||||||
np1.felszabadit(n1);
|
np1.felszabadit(Datum());
|
||||||
EXPECT_EQ(np1.size() , (size_t)1) << "Rossz meret!";
|
EXPECT_EQ((size_t)1,np1.size()) << "Rossz meret!";
|
||||||
np1.printTable(2000);
|
np1.printTable(2000);
|
||||||
np1.printTable(2000,5);
|
np1.printTable(2000,5);
|
||||||
EXPECT_TRUE(np1.foglalt(n2)) << "Hibas foglaltsag ellenorzes!";
|
EXPECT_TRUE(np1.foglalt(Datum(2000,5,16))) << "Hibas foglaltsag ellenorzes!";
|
||||||
|
|
||||||
|
np1.urit();
|
||||||
|
EXPECT_EQ((size_t)0, np1.size());
|
||||||
Naptar np3( new Evfordulo(2017,6,16));
|
Naptar np3( new Evfordulo(2017,6,16));
|
||||||
EXPECT_TRUE(np3.foglalt(Datum(2020,6,16)));
|
EXPECT_TRUE(np3.foglalt(Datum(2020,6,16))) << "Nem jó a kollekció?";
|
||||||
|
} END
|
||||||
#endif // NAPTAR_TESZT
|
#endif // NAPTAR_TESZT
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue