Commit 5eb764b5 by Szeberényi Imre

ELKESZULT

parent fddb3daf
......@@ -32,7 +32,6 @@
<Add option="-Wall" />
<Add option="-fexceptions" />
</Compiler>
<Unit filename="alaptipus.hpp" />
<Unit filename="generikus1_teszt.cpp" />
<Unit filename="integer.h" />
<Extensions>
......
......@@ -37,7 +37,6 @@
<Option compilerVar="CC" />
</Unit>
<Unit filename="integer.h" />
<Unit filename="myset.hpp" />
<Unit filename="point.h" />
<Extensions>
<code_completion />
......
......@@ -3,14 +3,17 @@
*
*/
#define TESTLEVEL 0
#define ELKESZULT 5
/**
* TESTLEVEL == 0 estén az Ön által készített Set sablon létezését teszteli.
* TESTLEVEL == 1 esetén a Set működését teszteli néhány alaptípussal.
* TESTLEVEL >= 2 esetén a Set sablont a Point osztállyal 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 >= 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.
*/
......@@ -31,7 +34,7 @@ CREATE_Has_(isElement)
int main() {
GTINIT(std::cin); // Csak C(J)PORTA működéséhez kell
#if TESTLEVEL == 0
#if ELKESZULT == 0
/// Csak azt vizsgálja, hogy a sablon példányosítható-e, keletkeznek-e az előírt tagfüggvények,
/// és a keletkezett kód lefordul-e.
......@@ -59,9 +62,9 @@ int main() {
FAIL() << "== Nincs isElement tagfuggveny! ==\n";
} ENDM
#endif // TESTLEVEL == 0
#endif // ELKESZULT == 0
#if TESTLEVEL >= 1
#if ELKESZULT >= 1
/// insert és isElement tesztelése int-re
TEST(int, insert) {
Set<int> s0;
......@@ -97,9 +100,9 @@ int main() {
EXPECT_TRUE(s0.isElement(Integer(1)));
EXPECT_FALSE(s0.isElement(Integer(120)));
} ENDM
#endif // TESTLEVEL > 1
#endif // ELKESZULT > 1
#if TESTLEVEL >= 2 && TESTLEVEL < 4
#if (ELKESZULT >= 2 && ELKESZULT < 4) || ELKESZULT == 5
TEST(Point, insert) {
Set<Point> s0;
s0.insert(Point(1, 2));
......@@ -107,28 +110,34 @@ int main() {
EXPECT_FALSE(s0.isElement(Point(1)));
EXPECT_FALSE(s0.isElement(Point(100)));
} ENDM
#endif // TESTLEVEL >= 2
#endif // ELKESZULT >= 2
#if TESTLEVEL >= 3
#if ELKESZULT >= 3
TEST(int, equal) {
int a = 1, b = 1;
EXPECT_TRUE(equal(a, b));
EXPECT_FALSE(equal(a, 2));
} ENDM
#endif // TESTLEVEL >=3 && TESTLEVEL < 4
#endif // ELKESZULT >=3 && ELKESZULT < 4
#if TESTLEVEL == 3
#if ELKESZULT == 3
TEST(Point, equal) {
Point a, b, c(0,1), d(1,1), e(1,0);
EXPECT_TRUE(equal(a, b));
EXPECT_FALSE(equal(a, c));
EXPECT_FALSE(equal(a, c)); TEST(Point, Xequal) {
Point a, b, c(0,1), d(1,1), e(1,0);
EXPECT_TRUE(equal(a, b));
EXPECT_TRUE(equal(a, c));
EXPECT_FALSE(equal(a, d));
EXPECT_FALSE(equal(a, e));
} ENDM
#endif // TESTLEVEL == 3
EXPECT_FALSE(equal(a, d));
EXPECT_FALSE(equal(a, e));
} ENDM
#endif // ELKESZULT == 3
#if TESTLEVEL == 4
#if ELKESZULT == 4
TEST(Point, Xequal) {
Point a, b, c(0,1), d(1,1), e(1,0);
EXPECT_TRUE(equal(a, b));
......@@ -136,25 +145,42 @@ int main() {
EXPECT_FALSE(equal(a, d));
EXPECT_FALSE(equal(a, e));
} ENDM
#endif // TESTLEVEL == 4
#endif // ELKESZULT == 4
#if TESTLEVEL == 4
#if ELKESZULT == 4
TEST(Point, insert) {
Set<Point> s0;
s0.insert(Point(1, 2));
EXPECT_TRUE(s0.isElement(Point(1, 8)));
EXPECT_FALSE(s0.isElement(Point(100)));
} ENDM
#endif // ELKESZULT == 4
#if ELKESZULT == 5
TEST(Point, Xequal2) {
Point a, b, c(0,1), d(1,1), e(1,0);
EXPECT_TRUE(Xequal(a, b));
EXPECT_TRUE(Xequal(a, c));
EXPECT_FALSE(Xequal(a, d));
EXPECT_FALSE(Xequal(a, e));
} ENDM
TEST(Point, insert) {
Set<Point, 20, Xequal> s0;
s0.insert(Point(1));
EXPECT_TRUE(s0.isElement(Point(1)));
EXPECT_TRUE(s0.isElement(Point(1, 8)));
EXPECT_FALSE(s0.isElement(Point(100)));
} ENDM
#endif // TESTLEVEL == 4
#endif // ELKESZULT == 4
/// Itt a vége
if (TESTLEVEL < 2 && !gtest_lite::test.fail())
if (ELKESZULT < 2 && !gtest_lite::test.fail())
FAIL() << "\nLegalabb az elso ket feladatot oldja meg!" << std::endl;
if (TESTLEVEL >= 4 && !gtest_lite::test.fail())
if (ELKESZULT >= 4 && !gtest_lite::test.fail())
std::cout << "Szuper! Mind kesz" << std::endl;
else
std::cout << "TESTLEVEL = " << TESTLEVEL << std::endl;
std::cout << "ELKESZULT = " << ELKESZULT << std::endl;
GTEND(std::cerr); // Csak C(J)PORTA működéséhez kell
return 0;
......
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