test structure is functionnal

This commit is contained in:
hugogogo
2022-05-31 19:28:22 +02:00
parent 1a8b81c3cf
commit 5e65691bc8

139
main.cpp
View File

@@ -3,13 +3,57 @@
#include "colors.h" #include "colors.h"
#include <vector> #include <vector>
#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 main() {
int i = 0;
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " std::vector<testt *> testouille;
<< "vector::vector (constructor) :" RESET "\n"; 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: // constructors used in the same order as described above:
std::vector<int> first; // empty vector of ints std::vector<int> first; // empty vector of ints
@@ -27,8 +71,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::=operator)
<< "vector::=operator :" RESET "\n";
{ {
std::vector<int> foo (3,0); std::vector<int> foo (3,0);
std::vector<int> bar (5,0); std::vector<int> bar (5,0);
@@ -40,8 +83,7 @@ int main() {
std::cout << "Size of bar: " << int(bar.size()) << '\n'; std::cout << "Size of bar: " << int(bar.size()) << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::begin)
<< "vector::begin :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
for (int i=1; i<=5; i++) myvector.push_back(i); for (int i=1; i<=5; i++) myvector.push_back(i);
@@ -52,8 +94,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::end)
<< "vector::end :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
for (int i=1; i<=5; i++) myvector.push_back(i); for (int i=1; i<=5; i++) myvector.push_back(i);
@@ -64,8 +105,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::rbegin)
<< "vector::rbegin :" RESET "\n";
{ {
std::vector<int> myvector (5); // 5 default-constructed ints std::vector<int> myvector (5); // 5 default-constructed ints
@@ -81,8 +121,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::rend)
<< "vector::rend :" RESET "\n";
{ {
std::vector<int> myvector (5); // 5 default-constructed ints std::vector<int> myvector (5); // 5 default-constructed ints
@@ -98,8 +137,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::size)
<< "vector::size :" RESET "\n";
{ {
std::vector<int> myints; std::vector<int> myints;
std::cout << "0. size: " << myints.size() << '\n'; std::cout << "0. size: " << myints.size() << '\n';
@@ -114,8 +152,7 @@ int main() {
std::cout << "3. size: " << myints.size() << '\n'; std::cout << "3. size: " << myints.size() << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::max_size)
<< "vector::max_size :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -127,8 +164,7 @@ int main() {
std::cout << "max_size: " << myvector.max_size() << "\n"; std::cout << "max_size: " << myvector.max_size() << "\n";
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::resize)
<< "vector::resize :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -145,8 +181,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::capacity)
<< "vector::capacity :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -158,8 +193,7 @@ int main() {
std::cout << "max_size: " << (int) myvector.max_size() << '\n'; std::cout << "max_size: " << (int) myvector.max_size() << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::empty)
<< "vector::empty :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
int sum (0); int sum (0);
@@ -175,8 +209,7 @@ int main() {
std::cout << "total: " << sum << '\n'; std::cout << "total: " << sum << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::reserve)
<< "vector::reserve :" RESET "\n";
{ {
std::vector<int>::size_type sz; std::vector<int>::size_type sz;
@@ -204,8 +237,7 @@ int main() {
} }
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::operator[])
<< "vector::operator[] :" RESET "\n";
{ {
std::vector<int> myvector (10); // 10 zero-initialized elements std::vector<int> myvector (10); // 10 zero-initialized elements
@@ -229,8 +261,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::at)
<< "vector::at :" RESET "\n";
{ {
std::vector<int> myvector (10); // 10 zero-initialized ints std::vector<int> myvector (10); // 10 zero-initialized ints
@@ -244,8 +275,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::front)
<< "vector::front :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -259,8 +289,7 @@ int main() {
std::cout << "myvector.front() is now " << myvector.front() << '\n'; std::cout << "myvector.front() is now " << myvector.front() << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::back)
<< "vector::back :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -274,8 +303,7 @@ int main() {
std::cout << "myvector.front() is now " << myvector.front() << '\n'; std::cout << "myvector.front() is now " << myvector.front() << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::assign)
<< "vector::assign :" RESET "\n";
{ {
std::vector<int> first; std::vector<int> first;
std::vector<int> second; std::vector<int> second;
@@ -296,19 +324,19 @@ int main() {
std::cout << "Size of third: " << int (third.size()) << '\n'; std::cout << "Size of third: " << int (third.size()) << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::push_back)
<< "vector::push_back :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
/* original : // original :
int myint; //
std::cout << "Please enter some integers (enter 0 to end):\n"; // int myint;
do { // std::cout << "Please enter some integers (enter 0 to end):\n";
std::cin >> myint; // do {
myvector.push_back (myint); // std::cin >> myint;
} while (myint); // myvector.push_back (myint);
*/ // } while (myint);
//
// replaced by : // replaced by :
int myint[] = {12434, -2432, 12, 5345, 23, 0, -4, 387, 8432, -934723, 1}; int myint[] = {12434, -2432, 12, 5345, 23, 0, -4, 387, 8432, -934723, 1};
int size = sizeof(myint) / sizeof(myint[0]); int size = sizeof(myint) / sizeof(myint[0]);
@@ -318,8 +346,7 @@ int main() {
std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n"; std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n";
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::pop_back)
<< "vector::pop_back :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
int sum (0); int sum (0);
@@ -336,8 +363,7 @@ int main() {
std::cout << "The elements of myvector add up to " << sum << '\n'; std::cout << "The elements of myvector add up to " << sum << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::insert)
<< "vector::insert :" RESET "\n";
{ {
std::vector<int> myvector (3,100); std::vector<int> myvector (3,100);
std::vector<int>::iterator it; std::vector<int>::iterator it;
@@ -362,8 +388,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::erase)
<< "vector::erase :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
@@ -382,8 +407,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::swap)
<< "vector::swap :" RESET "\n";
{ {
std::vector<int> foo (3,100); // three ints with a value of 100 std::vector<int> foo (3,100); // three ints with a value of 100
std::vector<int> bar (5,200); // five ints with a value of 200 std::vector<int> bar (5,200); // five ints with a value of 200
@@ -401,8 +425,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::clear)
<< "vector::clear :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
myvector.push_back (100); myvector.push_back (100);
@@ -424,8 +447,7 @@ int main() {
std::cout << '\n'; std::cout << '\n';
} }
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] " TEST(vector::get_allocator)
<< "vector::get_allocator :" RESET "\n";
{ {
std::vector<int> myvector; std::vector<int> myvector;
int * p; int * p;
@@ -445,6 +467,7 @@ int main() {
for (i=0; i<5; i++) myvector.get_allocator().destroy(&p[i]); for (i=0; i<5; i++) myvector.get_allocator().destroy(&p[i]);
myvector.get_allocator().deallocate(p,5); myvector.get_allocator().deallocate(p,5);
} }
*/
return 0; return 0;
} }