#ifndef TEST_H #define TEST_H #include // printf #include // cout #define EXPECT(x) \ if (!(x)) { \ printf("\033[31;1mFAIL\033[0m: %s:%d: EXPECT(%s) failed\n", \ __FILE__, __LINE__, #x); \ } #define EXPECT_EQ(a, b) \ if (a != b) { \ std::cout << "\033[31;1mFAIL\033[0m: " << __FILE__ << ":" << __LINE__ \ << ": EXPECT_EQ(" << #a << ", " << #b ") failed with" \ << " lhs='" << a << "' and rhs='" << b << "'" << std::endl; \ Test::TestSuite::the().currentTestCaseFailed(); \ } #define EXPECT_NE(a, b) \ if (a == b) { \ std::cout << "\033[31;1mFAIL\033[0m: " << __FILE__ << ":" << __LINE__ \ << ": EXPECT_NE(" << #a << ", " << #b ") failed with" \ << " lhs='" << a << "' and rhs='" << b << "'" << std::endl; \ Test::TestSuite::the().currentTestCaseFailed(); \ } #endif // TEST_H