Commit bd70543d by Szeberényi Imre

2021 update

parent 5e4881e2
...@@ -6,18 +6,18 @@ ...@@ -6,18 +6,18 @@
*/ */
/** /**
* TESTLEVEL == 0 estén az előre elkészített Integer osztályt próbálja ki pár esetre. * ELKESZULT == 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. * ELKESZULT == 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 >= 2 esetén pedig egy egyszerű függvénysablont kell elkészítenie.
*/ */
#define TESTLEVEL 0 #define ELKESZULT 0
#include <iostream> #include <iostream>
#include "integer.h" #include "integer.h"
#if TESTLEVEL > 0 #if ELKESZULT > 0
# include "alaptipus.hpp" # 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. /// 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. /// A kiírást egy tabulátorral kezdi és soremeléssel zárja.
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define _(...) std::cout << "\t" << #__VA_ARGS__ << std::endl; __VA_ARGS__ #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) { void kiir(Integer* first, Integer* last, std::ostream& os = std::cout) {
while (first != last) while (first != last)
os << *first++ << ' '; os << *first++ << ' ';
...@@ -34,9 +34,9 @@ void kiir(Integer* first, Integer* last, std::ostream& os = std::cout) { ...@@ -34,9 +34,9 @@ void kiir(Integer* first, Integer* last, std::ostream& os = std::cout) {
} }
int main() { int main() {
#if TESTLEVEL >= 0 #if ELKESZULT >= 0
{ // blokk kezdete így a nevek lokálisak maradnak { // 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. /// Csak az Integer osztályt mutatja be.
/// Értse meg az osztály működését és használatát! /// É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} ; ) ...@@ -65,12 +65,12 @@ _( Integer t[] = { 1, 2, 4, 8, 10} ; )
_( kiir(t, t+5); ) _( kiir(t, t+5); )
} // blokk vége } // blokk vége
#endif // TESTLEVEL >= 0 #endif // ELKESZULT >= 0
#if TESTLEVEL >= 1 #if ELKESZULT >= 1
{ // blokk kezdete így a nevek lokálisak maradnak { // 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. /// Az Alaptípus sablont példányosítjuk double típusra.
_( Alaptipus<double> a; ) _( Alaptipus<double> a; )
...@@ -81,13 +81,13 @@ _( std::cout << b / 10 << std::endl; ) ...@@ -81,13 +81,13 @@ _( std::cout << b / 10 << std::endl; )
_( Alaptipus<double> t[] = { 1.1, 2.2, 4.4, 8.8};) _( Alaptipus<double> t[] = { 1.1, 2.2, 4.4, 8.8};)
#if TESTLEVEL >= 2 #if ELKESZULT >= 2
std::cout << "\nTESTLEVEL >= 2\n"; std::cout << "\nELKESZULT >= 2\n";
_( kiir(t, t+4); ) _( kiir(t, t+4); )
#endif // TESTLEVEL >= 2 #endif // ELKESZULT >= 2
} // blokk vége } // blokk vége
#endif // TESTLEVEL >= 1 #endif // ELKESZULT >= 1
return 0; return 0;
} }
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
* ELKESZULT == 0 estén az Ön által készített Set sablon létezését teszteli. * 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 == 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. * 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 * ELKESZULT >= 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 * 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) * (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 * 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 * 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. * Feltételezi, hogy van a ponthoz Xequal függvény, vagy funktor.
*/ */
...@@ -79,9 +79,9 @@ int main() { ...@@ -79,9 +79,9 @@ int main() {
EXPECT_TRUE(s0.isElement(1)) << "== Betettuk, de nincs benne! ==\n"; EXPECT_TRUE(s0.isElement(1)) << "== Betettuk, de nincs benne! ==\n";
EXPECT_TRUE(s0.isElement(2)) << "== 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_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); 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 } ENDM
/// kivétel dobás tesztelése int-re /// 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