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)
|
||||
project(hf_naptar)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD 98)
|
||||
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_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);
|
||||
|
||||
virtual ~Datum() {}
|
||||
virtual bool equal(const Datum& d) const;
|
||||
/*!
|
||||
* @brief Egyenlőséget ellenőrző operátor
|
||||
* @param nap2 Az a Datum,amivel össze akarjuk hasonlítani a jelenlegi dátumot.
|
||||
* @return Az egyenlőséget jelző logikai érték
|
||||
*/
|
||||
bool operator==(const Datum&nap1) const;
|
||||
virtual ~Datum() {}
|
||||
virtual bool equal(const Datum& d) const;
|
||||
/*!
|
||||
* @brief Egyenlőséget ellenőrző operátor
|
||||
* @param nap2 Az a Datum,amivel össze akarjuk hasonlítani a jelenlegi dátumot.
|
||||
* @return Az egyenlőséget jelző logikai érték
|
||||
*/
|
||||
bool operator==(const Datum&nap1) const;
|
||||
|
||||
/*!
|
||||
* @brief Egyenlőtlenséget ellenőrző operátor
|
||||
|
|
28
MainWindow.h
28
MainWindow.h
|
@ -12,16 +12,40 @@
|
|||
#include <gtkmm/filechooserdialog.h>
|
||||
|
||||
class MainWindow : public Gtk::Window {
|
||||
/*!
|
||||
* @brief Bejelöli a foglalt dátumokat a naptárban
|
||||
*/
|
||||
void markDay();
|
||||
/*!
|
||||
* @brief A kijelölt nap alapján frissíti a nap leírásának szövegét.
|
||||
*/
|
||||
void daySelected();
|
||||
/*!
|
||||
* @brief Bezárja a névjegy ablakot
|
||||
*/
|
||||
void aboutWinClose();
|
||||
/*!
|
||||
* @brief Bezárja a Nap hozzáadó ablakot
|
||||
*/
|
||||
void addDateWinClose();
|
||||
/*!
|
||||
* @brief Megnyitja a nap hozzáadó ablakot
|
||||
*/
|
||||
void addDate();
|
||||
/*!
|
||||
* @brief Megnyitja az évforduló hozzáadó ablakot
|
||||
*/
|
||||
void addAnniversary();
|
||||
/*!
|
||||
* @brief Megnyitja a névjegy ablakot
|
||||
*/
|
||||
void about();
|
||||
/*!
|
||||
* @brief Importál egy pontosvesszővel elválasztott CSV fájlt
|
||||
*/
|
||||
void importFile();
|
||||
void exportFile();
|
||||
protected:
|
||||
protected:
|
||||
Naptar np;
|
||||
Glib::RefPtr<Gtk::Builder> builder;
|
||||
Gtk::Calendar* cal;
|
||||
|
@ -29,7 +53,7 @@ class MainWindow : public Gtk::Window {
|
|||
Gtk::MenuItem* mitem;
|
||||
AboutWindow* aboutw;
|
||||
AddDateWindow* addDatew;
|
||||
public:
|
||||
public:
|
||||
MainWindow(BaseObjectType* b,const Glib::RefPtr<Gtk::Builder>& refGlade);
|
||||
virtual ~MainWindow();
|
||||
};
|
||||
|
|
80
Naptar.h
80
Naptar.h
|
@ -10,6 +10,7 @@
|
|||
#include <cstring>
|
||||
#include <algorithm>
|
||||
#include <fstream>
|
||||
#include <iterator>
|
||||
|
||||
#include "Datum.h"
|
||||
|
||||
|
@ -24,7 +25,9 @@ class Naptar {
|
|||
Datum **napok;
|
||||
//! A tömb aktuális mérete
|
||||
size_t db;
|
||||
|
||||
/*!
|
||||
* @brief Rendezi a dinamikusan foglalt tömböt, időrendben növekvőre.
|
||||
*/
|
||||
void rendez();
|
||||
public:
|
||||
class iterator;
|
||||
|
@ -43,6 +46,9 @@ public:
|
|||
/*!
|
||||
* @brief Konstruktor első elemmel
|
||||
* @param n Az első elem
|
||||
* \code{.cpp}
|
||||
* Naptar np(new Datum());
|
||||
* \endcode
|
||||
*/
|
||||
Naptar(Datum* n);
|
||||
|
||||
|
@ -85,7 +91,7 @@ public:
|
|||
|
||||
/*!
|
||||
* @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.
|
||||
*/
|
||||
void hozzaad(Datum* n);
|
||||
|
@ -99,17 +105,25 @@ public:
|
|||
*/
|
||||
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 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');
|
||||
/*!
|
||||
* @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 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');
|
||||
|
||||
/*!
|
||||
* @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');
|
||||
/*!
|
||||
* @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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
|
||||
void importCSV(const char* path);
|
||||
|
||||
virtual ~Naptar();
|
||||
|
||||
|
||||
/*!
|
||||
* @brief Bejáró kezdete
|
||||
* @return Bejáró kezdete
|
||||
|
@ -147,29 +165,17 @@ public:
|
|||
* @note Az események időrendi sorrendben vannak
|
||||
*/
|
||||
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ó)
|
||||
*/
|
||||
class iterator {
|
||||
class iterator{
|
||||
//! Mutató az aktuális elemre
|
||||
Datum **akt;
|
||||
//! Mutató a tömb végére
|
||||
Datum **veg;
|
||||
public:
|
||||
//! 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
|
||||
|
@ -187,19 +193,35 @@ public:
|
|||
* @brief iterator léptetése (preinkrementer)
|
||||
*/
|
||||
iterator operator++();
|
||||
/*!
|
||||
* @brief iterator léptetése visszafelé
|
||||
*/
|
||||
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);
|
||||
/*!
|
||||
* @brief iterator léptetése egy megadott számmal hátra
|
||||
* @param n Ahánnyal léptetni szeretnénk
|
||||
*/
|
||||
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);
|
||||
/*!
|
||||
* @brief iterator léptetése (postinkrementer)
|
||||
*/
|
||||
iterator operator++(int i);
|
||||
|
||||
/*!
|
||||
* @brief iterator léptetése visszafelé
|
||||
*/
|
||||
iterator operator--(int i);
|
||||
|
||||
/*!
|
||||
* @brief Nyil operátor
|
||||
*/
|
||||
Datum *operator->();
|
||||
|
||||
/*!
|
||||
|
@ -223,12 +245,6 @@ public:
|
|||
*/
|
||||
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;
|
||||
|
||||
int main() {
|
||||
|
||||
|
||||
#if NAPTAR_TESZT >= 1
|
||||
TEST(Datum,ALL){
|
||||
Datum n1;
|
||||
EXPECT_EQ(n1.getEv(),1970) << "Rossz alapértelmezett év!";
|
||||
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_NE(n1,n2) << "Rossz a hasonlítas?";
|
||||
|
||||
EXPECT_FALSE(n1 > n2) << "Rossz a hasonlítas?";
|
||||
EXPECT_TRUE(n1 < n2) << "Rossz a hasonlítas?";
|
||||
EXPECT_TRUE(n1 <= n2) << "Rossz a hasonlítas?";
|
||||
EXPECT_TRUE(n1 <= n1) << "Rossz a hasonlítas?";
|
||||
EXPECT_FALSE(n1 > n2) << "Rossz operator>";
|
||||
EXPECT_TRUE(n1 < n2) << "Rossz operator>";
|
||||
EXPECT_TRUE(n1 <= n2) << "Rossz operator<=";
|
||||
EXPECT_TRUE(n1 <= n1) << "Rossz operator<=";
|
||||
EXPECT_TRUE(n1 != n2) << "Rossz operator!=";
|
||||
Datum n3 = n2;
|
||||
EXPECT_TRUE(n2 == n3) << "Rossz masolo!";
|
||||
n2 = n2;
|
||||
|
@ -46,10 +50,11 @@ int main() {
|
|||
EXPECT_EQ(n2.getUnixTime(),958435200) << "Rossz Unix ido!";
|
||||
|
||||
|
||||
|
||||
} END
|
||||
#endif
|
||||
|
||||
#if NAPTAR_TESZT >= 2
|
||||
TEST(Naptar,ALL) {
|
||||
Naptar np1;
|
||||
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());
|
||||
EXPECT_EQ(1970,np1.at(0)->getEv()) << "Nem jó a rendezés?";
|
||||
// np1.exportCSV("test.csv");
|
||||
np1.importCSV("test.csv");
|
||||
np1.printAll();
|
||||
EXPECT_EQ(np1.size() , (size_t)2) << "Rossz meret!";
|
||||
np1.felszabadit(n1);
|
||||
EXPECT_EQ(np1.size() , (size_t)1) << "Rossz meret!";
|
||||
EXPECT_EQ((size_t)2,np1.size()) << "Rossz meret!";
|
||||
np1.felszabadit(Datum());
|
||||
EXPECT_EQ((size_t)1,np1.size()) << "Rossz meret!";
|
||||
np1.printTable(2000);
|
||||
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));
|
||||
EXPECT_TRUE(np3.foglalt(Datum(2020,6,16)));
|
||||
|
||||
EXPECT_TRUE(np3.foglalt(Datum(2020,6,16))) << "Nem jó a kollekció?";
|
||||
} END
|
||||
#endif // NAPTAR_TESZT
|
||||
return 0;
|
||||
}
|
||||
|
|
Reference in a new issue