Commit bd70543d by Szeberényi Imre

2021 update

parent 5e4881e2
......@@ -6,18 +6,18 @@
*/
/**
* TESTLEVEL == 0 estén az előre elkészített Integer osztályt próbálja ki pár esetre.
* TESTLEVEL == 1 estén az Ön által elkészítendő Alaptípus osztálysablont próbálja ki.
* TESTLEVEL >= 2 esetén pedig egy egyszerű függvénysablont kell elkészítenie.
* ELKESZULT == 0 estén az előre elkészített Integer osztályt próbálja ki pár esetre.
* ELKESZULT == 1 estén az Ön által elkészítendő Alaptípus osztálysablont próbálja ki.
* ELKESZULT >= 2 esetén pedig egy egyszerű függvénysablont kell elkészítenie.
*/
#define TESTLEVEL 0
#define ELKESZULT 0
#include <iostream>
#include "integer.h"
#if TESTLEVEL > 0
#if ELKESZULT > 0
# include "alaptipus.hpp"
#endif // TESTLEVEL > 0
#endif // ELKESZULT > 0
/// Korábban használt makró, ami kiírja a paramétereit, majd változtatás nélkül kigenerálja azokat.
/// A kiírást egy tabulátorral kezdi és soremeléssel zárja.
......@@ -26,7 +26,7 @@
#define _(...) std::cout << "\t" << #__VA_ARGS__ << std::endl; __VA_ARGS__
/// Ebből a függvényből kell sablont készíteni TESTLEVEL >= 2 esetén (l. útmutató)
/// Ebből a függvényből kell sablont készíteni ELKESZULT >= 2 esetén (l. útmutató)
void kiir(Integer* first, Integer* last, std::ostream& os = std::cout) {
while (first != last)
os << *first++ << ' ';
......@@ -34,9 +34,9 @@ void kiir(Integer* first, Integer* last, std::ostream& os = std::cout) {
}
int main() {
#if TESTLEVEL >= 0
#if ELKESZULT >= 0
{ // blokk kezdete így a nevek lokálisak maradnak
std::cout << "\nTESTLEVEL >= 0\n";
std::cout << "\nELKESZULT >= 0\n";
/// Csak az Integer osztályt mutatja be.
/// Értse meg az osztály működését és használatát!
......@@ -65,12 +65,12 @@ _( Integer t[] = { 1, 2, 4, 8, 10} ; )
_( kiir(t, t+5); )
} // blokk vége
#endif // TESTLEVEL >= 0
#endif // ELKESZULT >= 0
#if TESTLEVEL >= 1
#if ELKESZULT >= 1
{ // blokk kezdete így a nevek lokálisak maradnak
std::cout << "\nTESTLEVEL >= 1\n";
std::cout << "\nELKESZULT >= 1\n";
/// Az Alaptípus sablont példányosítjuk double típusra.
_( Alaptipus<double> a; )
......@@ -81,13 +81,13 @@ _( std::cout << b / 10 << std::endl; )
_( Alaptipus<double> t[] = { 1.1, 2.2, 4.4, 8.8};)
#if TESTLEVEL >= 2
std::cout << "\nTESTLEVEL >= 2\n";
#if ELKESZULT >= 2
std::cout << "\nELKESZULT >= 2\n";
_( kiir(t, t+4); )
#endif // TESTLEVEL >= 2
#endif // ELKESZULT >= 2
} // blokk vége
#endif // TESTLEVEL >= 1
#endif // ELKESZULT >= 1
return 0;
}
......
......@@ -11,12 +11,12 @@
* ELKESZULT == 0 estén az Ön által készített Set sablon létezését teszteli.
* ELKESZULT == 1 esetén a Set működését teszteli néhány alaptípussal.
* ELKESZULT >= 2 esetén a Set sablont a Point osztállyal teszteli.
* TESZLEVEL >= 3 esetén az Ön által készített equal sablont teszteli
* TEZSLEVEL == 4 esetén az Ön által készített equal specializációját teszteli
(Point Y koordinátája nem vesz részt a hasonlításban)
* TEZSLEVEL == 5 esetén az Ön által módosított Set sablont teszteli, ami sablon paraméterként
kapja az összehasonlító függvényt, melynek alapértelmezett értéke az equal sablon
Feltételezi, hogy van a ponthoz Xequal függvény, vagy funktor.
* ELKESZULT >= 3 esetén az Ön által készített equal sablont teszteli
* ELKESZULT == 4 esetén az Ön által készített equal specializációját teszteli
* (Point Y koordinátája nem vesz részt a hasonlításban)
* ELKESZULT == 5 esetén az Ön által módosított Set sablont teszteli, ami sablon paraméterként
* kapja az összehasonlító függvényt, melynek alapértelmezett értéke az equal sablon
* Feltételezi, hogy van a ponthoz Xequal függvény, vagy funktor.
*/
......@@ -79,9 +79,9 @@ int main() {
EXPECT_TRUE(s0.isElement(1)) << "== Betettuk, de nincs benne! ==\n";
EXPECT_TRUE(s0.isElement(2)) << "== Betettuk, de nincs benne! ==\n";
EXPECT_FALSE(s0.isElement(0)) << "== Nem tettuk be, de benne van! ==\n";
EXPECT_EQ((size_t)2, s0.size()) << "== Nem jo meretet! ***\n";
EXPECT_EQ(2, s0.size()) << "== Nem jo meretet! ***\n";
s0.insert(1);
EXPECT_EQ((size_t)2, s0.size()) << "== Azonos elem utan nem jo a meretet! ==\n";
EXPECT_EQ(2, s0.size()) << "== Azonos elem utan nem jo a meretet! ==\n";
} ENDM
/// kivétel dobás tesztelése int-re
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment