From 5e65691bc8a2de02e8fcb5af35b935228712907d Mon Sep 17 00:00:00 2001 From: hugogogo Date: Tue, 31 May 2022 19:28:22 +0200 Subject: [PATCH] test structure is functionnal --- main.cpp | 139 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 81 insertions(+), 58 deletions(-) diff --git a/main.cpp b/main.cpp index 296bf4a..6a1714f 100644 --- a/main.cpp +++ b/main.cpp @@ -3,13 +3,57 @@ #include "colors.h" #include -#define N_TEST "1" +/* +#define N_TEST "24" +#define TEST(s) std::cout \ + << "\n" B_YELLOW "[" << ++test << "/" N_TEST "] " \ + << #s " :" RESET "\n"; +*/ + +#define TEST \ + {\ + struct tester : public testt {\ + void func() +#define TESTNAME(s) \ + };\ + test = new(tester);\ + test->title = #s;\ + testouille.push_back(test);\ + } + +struct testt { + std::string title; + virtual void func() { + std::cout << "houre\n"; + } +}; int main() { - int i = 0; - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::vector (constructor) :" RESET "\n"; + std::vector testouille; + testt *test; + + TEST { + std::cout << "here\n"; + } TESTNAME(name of first test) + + TEST { + std::cout << "here2\n"; + } TESTNAME(name of second test) + + int size = testouille.size(); + for(int i = 0; i < size; i++) + { + std::cout + << "\n" B_YELLOW "[" << i + 1 << "/" << size << "] " \ + << testouille[i]->title << " :" RESET "\n"; + testouille[i]->func(); + } + +/* + int test = 0; + + TEST(vector::vector (constructor)) { // constructors used in the same order as described above: std::vector first; // empty vector of ints @@ -27,8 +71,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::=operator :" RESET "\n"; + TEST(vector::=operator) { std::vector foo (3,0); std::vector bar (5,0); @@ -40,8 +83,7 @@ int main() { std::cout << "Size of bar: " << int(bar.size()) << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::begin :" RESET "\n"; + TEST(vector::begin) { std::vector myvector; for (int i=1; i<=5; i++) myvector.push_back(i); @@ -52,8 +94,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::end :" RESET "\n"; + TEST(vector::end) { std::vector myvector; for (int i=1; i<=5; i++) myvector.push_back(i); @@ -64,8 +105,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::rbegin :" RESET "\n"; + TEST(vector::rbegin) { std::vector myvector (5); // 5 default-constructed ints @@ -81,8 +121,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::rend :" RESET "\n"; + TEST(vector::rend) { std::vector myvector (5); // 5 default-constructed ints @@ -98,8 +137,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::size :" RESET "\n"; + TEST(vector::size) { std::vector myints; std::cout << "0. size: " << myints.size() << '\n'; @@ -114,8 +152,7 @@ int main() { std::cout << "3. size: " << myints.size() << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::max_size :" RESET "\n"; + TEST(vector::max_size) { std::vector myvector; @@ -127,8 +164,7 @@ int main() { std::cout << "max_size: " << myvector.max_size() << "\n"; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::resize :" RESET "\n"; + TEST(vector::resize) { std::vector myvector; @@ -145,8 +181,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::capacity :" RESET "\n"; + TEST(vector::capacity) { std::vector myvector; @@ -158,8 +193,7 @@ int main() { std::cout << "max_size: " << (int) myvector.max_size() << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::empty :" RESET "\n"; + TEST(vector::empty) { std::vector myvector; int sum (0); @@ -175,8 +209,7 @@ int main() { std::cout << "total: " << sum << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::reserve :" RESET "\n"; + TEST(vector::reserve) { std::vector::size_type sz; @@ -204,8 +237,7 @@ int main() { } } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::operator[] :" RESET "\n"; + TEST(vector::operator[]) { std::vector myvector (10); // 10 zero-initialized elements @@ -229,8 +261,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::at :" RESET "\n"; + TEST(vector::at) { std::vector myvector (10); // 10 zero-initialized ints @@ -244,8 +275,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::front :" RESET "\n"; + TEST(vector::front) { std::vector myvector; @@ -259,8 +289,7 @@ int main() { std::cout << "myvector.front() is now " << myvector.front() << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::back :" RESET "\n"; + TEST(vector::back) { std::vector myvector; @@ -274,8 +303,7 @@ int main() { std::cout << "myvector.front() is now " << myvector.front() << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::assign :" RESET "\n"; + TEST(vector::assign) { std::vector first; std::vector second; @@ -296,19 +324,19 @@ int main() { std::cout << "Size of third: " << int (third.size()) << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::push_back :" RESET "\n"; + TEST(vector::push_back) { std::vector myvector; - /* original : - int myint; - std::cout << "Please enter some integers (enter 0 to end):\n"; - do { - std::cin >> myint; - myvector.push_back (myint); - } while (myint); - */ + // original : + // + // int myint; + // std::cout << "Please enter some integers (enter 0 to end):\n"; + // do { + // std::cin >> myint; + // myvector.push_back (myint); + // } while (myint); + // // replaced by : int myint[] = {12434, -2432, 12, 5345, 23, 0, -4, 387, 8432, -934723, 1}; int size = sizeof(myint) / sizeof(myint[0]); @@ -318,8 +346,7 @@ int main() { std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n"; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::pop_back :" RESET "\n"; + TEST(vector::pop_back) { std::vector myvector; int sum (0); @@ -336,8 +363,7 @@ int main() { std::cout << "The elements of myvector add up to " << sum << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::insert :" RESET "\n"; + TEST(vector::insert) { std::vector myvector (3,100); std::vector::iterator it; @@ -362,8 +388,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::erase :" RESET "\n"; + TEST(vector::erase) { std::vector myvector; @@ -382,8 +407,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::swap :" RESET "\n"; + TEST(vector::swap) { std::vector foo (3,100); // three ints with a value of 100 std::vector bar (5,200); // five ints with a value of 200 @@ -401,8 +425,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::clear :" RESET "\n"; + TEST(vector::clear) { std::vector myvector; myvector.push_back (100); @@ -424,8 +447,7 @@ int main() { std::cout << '\n'; } - std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " - << "vector::get_allocator :" RESET "\n"; + TEST(vector::get_allocator) { std::vector myvector; int * p; @@ -445,6 +467,7 @@ int main() { for (i=0; i<5; i++) myvector.get_allocator().destroy(&p[i]); myvector.get_allocator().deallocate(p,5); } +*/ return 0; }