|
|
@@ -201,7 +201,7 @@ public: |
|
|
|
TestCase##TestCaseName lol_unit_test_case_##TestCaseName; \ |
|
|
|
void TestCaseName() |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_GENERIC(message, cond) \ |
|
|
|
#define LOLUNIT_ASSERT_GENERIC(msg, cond) \ |
|
|
|
do { \ |
|
|
|
m_asserts++; \ |
|
|
|
if (True() && !(cond)) \ |
|
|
@@ -213,33 +213,36 @@ public: |
|
|
|
<< __FILE__ << std::endl; \ |
|
|
|
m_errorlog << "assertion failed" << std::endl; \ |
|
|
|
m_errorlog << "- Expression: " << #cond << std::endl; \ |
|
|
|
m_errorlog << message; \ |
|
|
|
m_errorlog << msg; \ |
|
|
|
m_failure = true; \ |
|
|
|
return; \ |
|
|
|
} \ |
|
|
|
} while(!True()) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_EQUAL_GENERIC(message, a, b) \ |
|
|
|
#define LOLUNIT_ASSERT_OP(op, modifier, opdesc, msg, a, b) \ |
|
|
|
do { \ |
|
|
|
m_asserts++; \ |
|
|
|
if (True() && (a) != (b)) \ |
|
|
|
if (True() && !modifier((a) op (b))) \ |
|
|
|
{ \ |
|
|
|
m_errorlog << std::endl << std::endl; \ |
|
|
|
m_errorlog << ++m_failcases << ") test: " \ |
|
|
|
<< LolUnitFixtureName(this) << "::" << m_currentname \ |
|
|
|
<< " (F) line: " << __LINE__ << " " \ |
|
|
|
<< __FILE__ << std::endl; \ |
|
|
|
m_errorlog << "equality assertion failed" << std::endl; \ |
|
|
|
m_errorlog << opdesc << " assertion failed" << std::endl; \ |
|
|
|
m_errorlog << "- Expected: " << #a << " = " << (a) << std::endl; \ |
|
|
|
m_errorlog << "- Actual : " << #b << " = " << (b) << std::endl; \ |
|
|
|
m_errorlog << message; \ |
|
|
|
m_errorlog << msg; \ |
|
|
|
m_errorlog << m_context.str(); \ |
|
|
|
m_failure = true; \ |
|
|
|
return; \ |
|
|
|
} \ |
|
|
|
} while(!True()) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_DOUBLES_EQUAL_GENERIC(message, a, b, t) \ |
|
|
|
#define LOLUNIT_MSG(msg) \ |
|
|
|
"- " << msg << std::endl |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_DOUBLES_EQUAL_GENERIC(msg, a, b, t) \ |
|
|
|
do { \ |
|
|
|
m_asserts++; \ |
|
|
|
if (True() && fabs((a) - (b)) > fabs((t))) \ |
|
|
@@ -256,14 +259,14 @@ public: |
|
|
|
m_errorlog << "- Actual : " << #b << " = " << (b) << std::endl; \ |
|
|
|
m_errorlog << "- Delta : " << (t) << std::endl; \ |
|
|
|
m_errorlog << std::setprecision(old_prec); \ |
|
|
|
m_errorlog << message; \ |
|
|
|
m_errorlog << msg; \ |
|
|
|
m_errorlog << m_context.str(); \ |
|
|
|
m_failure = true; \ |
|
|
|
return; \ |
|
|
|
} \ |
|
|
|
} while(!True()) |
|
|
|
|
|
|
|
#define LOLUNIT_FAIL(message) \ |
|
|
|
#define LOLUNIT_FAIL(msg) \ |
|
|
|
do { \ |
|
|
|
m_asserts++; \ |
|
|
|
m_errorlog << std::endl << std::endl; \ |
|
|
@@ -272,7 +275,7 @@ public: |
|
|
|
<< " (F) line: " << __LINE__ << " " \ |
|
|
|
<< __FILE__ << std::endl; \ |
|
|
|
m_errorlog << "forced failure" << std::endl; \ |
|
|
|
m_errorlog << "- " << message << std::endl; \ |
|
|
|
m_errorlog << "- " << msg << std::endl; \ |
|
|
|
m_errorlog << m_context.str(); \ |
|
|
|
m_failure = true; \ |
|
|
|
return; \ |
|
|
@@ -283,27 +286,70 @@ public: |
|
|
|
m_context.str(""); \ |
|
|
|
m_context << "- Context : " << #n << " = " << (n) << std::endl; \ |
|
|
|
} while(!True()) |
|
|
|
|
|
|
|
#define LOLUNIT_UNSET_CONTEXT(n) \ |
|
|
|
m_context.str("") |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT(cond) \ |
|
|
|
LOLUNIT_ASSERT_GENERIC("", cond) |
|
|
|
#define LOLUNIT_ASSERT_MESSAGE(m, cond) \ |
|
|
|
LOLUNIT_ASSERT_GENERIC(LOLUNIT_MSG(m), cond) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_MESSAGE(message, cond) \ |
|
|
|
LOLUNIT_ASSERT_GENERIC("- " << message << std::endl, cond) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_EQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_EQUAL_GENERIC("", a, b) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_EQUAL_MESSAGE(message, a, b) \ |
|
|
|
LOLUNIT_ASSERT_EQUAL_GENERIC("- " << message << std::endl, a, b) |
|
|
|
LOLUNIT_ASSERT_OP(==, !!, "equality", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_EQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(==, !!, "equality", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_DIFFERENT(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(!=, !!, "inequality", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_DIFFERENT_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(!=, !!, "inequality", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_LESS(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<, !!, "less than", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_LESS_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<, !!, "less than", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_LEQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<=, !!, "less than or equal", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_LEQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<=, !!, "less than or equal", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_GREATER(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>, !!, "greater than", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_GREATER_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>, !!, "greater than", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_GEQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>=, !!, "greater than or equal", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_GEQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>=, !!, "greater than or equal", LOLUNIT_MSG(m), a, b) |
|
|
|
|
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_NOT_EQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(==, !, "not equality", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_EQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(==, !, "not equality", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_DIFFERENT(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(!=, !, "not inequality", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_DIFFERENT_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(!=, !, "not inequality", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_LESS(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<, !, "not less than", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_LESS_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<, !, "not less than", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_LEQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<=, !, "not less than or equal", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_LEQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(<=, !, "not less than or equal", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_GREATER(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>, !, "not greater than", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_GREATER_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>, !, "not greater than", LOLUNIT_MSG(m), a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_GEQUAL(a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>=, !, "not greater than or equal", "", a, b) |
|
|
|
#define LOLUNIT_ASSERT_NOT_GEQUAL_MESSAGE(m, a, b) \ |
|
|
|
LOLUNIT_ASSERT_OP(>=, !, "not greater than or equal", LOLUNIT_MSG(m), a, b) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_DOUBLES_EQUAL(a, b, t) \ |
|
|
|
LOLUNIT_ASSERT_DOUBLES_EQUAL_GENERIC("", a, b, t) |
|
|
|
|
|
|
|
#define LOLUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(message, a, b, t) \ |
|
|
|
LOLUNIT_ASSERT_DOUBLES_EQUAL_GENERIC("- " << message << std::endl, a, b, t) |
|
|
|
#define LOLUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(msg, a, b, t) \ |
|
|
|
LOLUNIT_ASSERT_DOUBLES_EQUAL_GENERIC("- " << msg << std::endl, a, b, t) |
|
|
|
|
|
|
|
} /* namespace lol */ |
|
|
|
|
|
|
|