d08 ex00 ajout encore tests char

This commit is contained in:
Hugo LAMY
2022-03-19 18:29:43 +01:00
parent 0c5877056e
commit b3df6acd20
3 changed files with 60 additions and 15 deletions

Binary file not shown.

View File

@@ -6,7 +6,7 @@
class easyfindException : public std::exception {
virtual char const *what(void) const throw() {
return "not found";
return B_RED "not found" RESET;
}
};

View File

@@ -10,10 +10,10 @@
#define N_TEST "3"
template < typename T >
void standardTest(T container, int test) {
void standardTest(T container, int start, int end, int test) {
typename T::const_iterator it;
for (int i = 65 ; i < 91 ; i++)
for (int i = start ; i < end ; i++)
container.push_back(i);
for (it = container.begin(); it != container.end(); it++)
std::cout << *it << ": " << &*it << "\n";
@@ -33,28 +33,73 @@ int main() {
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests list :" RESET "\n";
{
std::list<int> container;
standardTest(container, 70);
std::list<char> container2;
standardTest(container2, 'T');
std::cout << B_BLUE "char A - L; find H :" RESET "\n";
std::list<char> container;
standardTest(container, 'A', 'L', 'H');
std::cout << B_BLUE "char A - L; find L :" RESET "\n";
std::list<char> container1;
standardTest(container1, 'A', 'L', 'L');
std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n";
std::list<int> container2;
standardTest(container2, -5, 5, 4);
std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n";
std::list<int> container3;
standardTest(container3, -5, 5, 5);
std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n";
std::list<int> container4;
standardTest(container4, -5, 5, 6);
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests vector :" RESET "\n";
{
std::vector<int> container;
standardTest(container, 70);
std::vector<char> container2;
standardTest(container2, 'T');
std::cout << B_BLUE "char A - L; find H :" RESET "\n";
std::vector<char> container;
standardTest(container, 'A', 'L', 'H');
std::cout << B_BLUE "char A - L; find L :" RESET "\n";
std::vector<char> container1;
standardTest(container1, 'A', 'L', 'L');
std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n";
std::vector<int> container2;
standardTest(container2, -5, 5, 4);
std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n";
std::vector<int> container3;
standardTest(container3, -5, 5, 5);
std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n";
std::vector<int> container4;
standardTest(container4, -5, 5, 6);
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests deque :" RESET "\n";
{
std::deque<int> container;
standardTest(container, 70);
std::deque<char> container2;
standardTest(container2, 'T');
std::cout << B_BLUE "char A - L; find H :" RESET "\n";
std::deque<char> container;
standardTest(container, 'A', 'L', 'H');
std::cout << B_BLUE "char A - L; find L :" RESET "\n";
std::deque<char> container1;
standardTest(container1, 'A', 'L', 'L');
std::cout << B_BLUE "int -5 - 5; find 4 :" RESET "\n";
std::deque<int> container2;
standardTest(container2, -5, 5, 4);
std::cout << B_BLUE "int -5 - 5; find 5 :" RESET "\n";
std::deque<int> container3;
standardTest(container3, -5, 5, 5);
std::cout << B_BLUE "int -5 - 5; find 6 :" RESET "\n";
std::deque<int> container4;
standardTest(container4, -5, 5, 6);
}
return 0;