Commit 5eb764b5 by Szeberényi Imre

ELKESZULT

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