#ifndef TESTS_HPP # define TESTS_HPP #include "colors.h" #include #include #include // std::setw() #include // std::reverse_iterator #include // std::make_pair #include // std::stringstream // toogle between test ft and stl // ************************* #include #include #ifdef STL namespace ft = std; #else #include "vector.hpp" #include "reverse_iterator.hpp" #endif // global variables // *************************************** std::vector< std::vector > test_list; std::vector mem_list; // global functions // *************************************** void add_to_list(std::string s, A_test* s1, A_test* s2, A_test* s3, A_test* s4); // struct for tests // *************************************** struct mystruct { public: mystruct(int data = 0); ~mystruct(); int * get_data() const; private: int * _val; }; std::ostream & operator<<(std::ostream & o, mystruct const * rhs); // adding each test to the list // *************************** #define TEST(f_name) \ template struct s_ ## f_name : public A_test\ { void func(); };\ void f_name ()\ { add_to_list(\ #f_name,\ new(s_ ## f_name ),\ new(s_ ## f_name ),\ new(s_ ## f_name ),\ new(s_ ## f_name )\ );}\ template \ void s_ ## f_name ::func() // defines // **************************************** # define TITLE(s) std::cout << "\n" B_PURPLE #s RESET "\n\n"; # define VAL(n) val(n) # define TOI(n) toi(n) # define PRINT(n) print_vector(n); # define DELETE delete_structs(); // prototypes // ********************************************* // vectors void tests_vector_constructor(); void tests_vector_operator_assignation(); void tests_vector_begin(); void tests_vector_end(); void tests_vector_rbegin(); void tests_vector_rend(); void tests_vector_size(); void tests_vector_max_size(); void tests_vector_resize(); void tests_vector_capacity(); void tests_vector_empty(); void tests_vector_reserve(); void tests_vector_operator_access(); void tests_vector_at(); void tests_vector_front(); void tests_vector_back(); void tests_vector_assign(); void tests_vector_push_back(); void tests_vector_pop_back(); void tests_vector_insert(); void tests_vector_erase(); void tests_vector_swap(); void tests_vector_clear(); void tests_vector_get_allocator(); void tests_vector_relational_operators(); void tests_vector_swap_non_member(); void tests_vector_reverse_iterators(); // map void tests_map_simple(); //void tests_map_constructor(); //void tests_map_operator_assignation(); //void tests_map_begin(); //void tests_map_end(); //void tests_map_rbegin(); //void tests_map_rend(); //void tests_map_empty(); //void tests_map_size(); //void tests_map_max_size(); //void tests_map_operator_access(); //void tests_map_insert(); //void tests_map_erase(); //void tests_map_swap(); //void tests_map_clear(); //void tests_map_key_comp(); //void tests_map_value_comp(); //void tests_map_find(); //void tests_map_count(); //void tests_map_lower_bound(); //void tests_map_upper_bound(); //void tests_map_equal_range(); //void tests_map_get_allocator(); #endif