#ifndef DEF_TEST_H #define DEF_TEST_H #include "../../src/include/colors.h" #define _TEST_PRESENTATION(description) { printf("\n" BLUE "#### %s:" BOLD "%s" RESET BLUE " #####" RESET "\n", __FILE__, description); } #define _TEST_ASSERT(condition, description, show_ok) { \ if (condition) { \ if (show_ok) printf("[" GREEN "OK" RESET "] %s:%d: %s\n", __FILE__, __LINE__, description); \ } else { \ printf("[" RED "ERREUR" RESET "] %s:%d: %s\n", __FILE__, __LINE__, description); \ exit(1); \ } \ } #define _TEST_NO_EXCEPTION(expr) \ [&]() -> bool { \ try { \ bool result = (expr); \ return result; \ } catch (...) { \ return false; \ } \ }() #define _TEST_IS_EXCEPTION(expr, excep) \ [&]() -> bool { \ try { \ (expr); \ return false; \ } catch (const excep& e) { \ return true; \ } \ catch (...) { \ return false; \ } \ }() #endif