42#define STD_DATA TestInternal::StdData(__LINE__, __FILE__, __nameOfTest, __printDots)
44 {bool ___printDots = __printDots; __printDots = false; X; __printDots = ___printDots;}
65 const char* testName,
const char* file,
size_t line);
68 const char* testName,
const char* file,
size_t line,
71#define ASSERT_EXCEPTION(CODE, EXCEPTION_TYPE) \
72 {bool _frobby_sawException = false; \
73 try {CODE;} catch (EXCEPTION_TYPE) {_frobby_sawException = true;} \
74 if (_frobby_sawException)assertOK(STD_DATA); \
75 else assertFail(#CODE,"throw exception of type " #EXCEPTION_TYPE,STD_DATA);}
77#define ASSERT_TRUE(VALUE) \
78 {if(VALUE)assertOK(STD_DATA);else assertFail(#VALUE,"true",STD_DATA);}
79#define ASSERT_TRUE_SILENT(VALUE) SILENT(ASSERT_TRUE(VALUE))
81#define ASSERT_TRUE1(VALUE, X) \
82 {if(VALUE)assertOK(STD_DATA);else assertFail1(#VALUE,"true",STD_DATA,#X,TestInternal::toStr(X));}
83#define ASSERT_FALSE1(VALUE, X) \
84 {if(!VALUE)assertOK(STD_DATA);else assertFail1(#VALUE,"false",STD_DATA,#X,TestInternal::toStr(X));}
86#define ASSERT_TRUE2(VALUE, X, Y) \
87 {if(VALUE)assertOK(STD_DATA);else assertFail2(#VALUE,"true",STD_DATA,#X,TestInternal::toStr(X),#Y,TestInternal::toStr(Y));}
88#define ASSERT_FALSE2(VALUE, X, Y) \
89 {if(!VALUE)assertOK(STD_DATA);else assertFail2(#VALUE,"false",STD_DATA,#X,TestInternal::toStr(X),#Y,TestInternal::toStr(Y));}
92 const char* testName,
const char* file,
size_t line,
95 template<
class A,
class B>
97 const char* testName,
const char* file,
size_t line,
116#define ASSERT_TRUE2_SILENT(VALUE, A, B) \
117 TestInternal::assertTrue2(VALUE, #VALUE, __nameOfTest, __FILE__, __LINE__, \
122 const char* testName,
const char* file,
size_t line,
124#define ASSERT_FALSE(VALUE) \
125 TestInternal::assertFalse(VALUE, #VALUE, __nameOfTest, __FILE__, __LINE__, __printDots)
126#define ASSERT_FALSE_SILENT(VALUE) \
127 TestInternal::assertFalse(VALUE, #VALUE, __nameOfTest, __FILE__, __LINE__, false)
131 const char* testName,
const char* file,
size_t line);
132 template<
class T1,
class T2>
135 const char* testName,
const char* file,
size_t line,
150 testName, file, line);
152#define ASSERT_EQ(A, B) \
153 TestInternal::assertEqual(A, B, #A, #B, __nameOfTest, __FILE__, __LINE__, __printDots)
154#define ASSERT_EQ_SILENT(A, B) \
155 TestInternal::assertEqual(A, B, #A, #B, __nameOfTest, __FILE__, __LINE__, false)
159 const char* testName,
const char* file,
size_t line);
160 template<
class T1,
class T2>
163 const char* testName,
const char* file,
size_t line,
178 testName, file, line);
180#define ASSERT_NEQ(A, B) \
181 TestInternal::assertNotEqual(A, B, #A, #B, __nameOfTest, __FILE__, __LINE__, __printDots)
182#define ASSERT_NEQ_SILENT(A, B) \
183 TestInternal::assertNotEqual(A, B, #A, #B, __nameOfTest, __FILE__, __LINE__, false)
190 out <<
" std::vector<>: ";
191 for (
typename vector<T>::const_iterator
it =
v.begin();
it !=
v.end(); ++
it)
192 out << (
it ==
v.begin() ?
"" :
", ") << *
it;
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
void assertOK(const StdData &data)
void assertTrue2Failed(const char *valueString, const char *testName, const char *file, size_t line, const char *expression1, const char *expression1Value, const char *expression2, const char *expression2Value)
void assertFail1(const char *cond, const char *expected, const StdData &data, const char *exp1, string exp1Value)
void assertTrue2(bool value, const char *valueString, const char *testName, const char *file, size_t line, const char *expression1, const A &a, const char *expression2, const B &b, bool printDot)
void assertEqual(const T1 &a, const T2 &b, const char *aString, const char *bString, const char *testName, const char *file, size_t line, bool printDot)
void assertTrue(bool value, const char *valueString, const char *testName, const char *file, size_t line, bool printDot)
void assertFail(const char *cond, const char *expected, const StdData &data)
void assertFailed(const char *errorMsg, const char *testName, const char *file, size_t line)
void assertSucceeded(bool printDot)
void assertFalse(bool value, const char *valueString, const char *testName, const char *file, size_t line, bool printDot)
void assertNotEqualFailed(const char *a, const char *b, const char *aString, const char *bString, const char *testName, const char *file, size_t line)
void assertEqualFailed(const char *a, const char *b, const char *aString, const char *bString, const char *testName, const char *file, size_t line)
void assertNotEqual(const T1 &a, const T2 &b, const char *aString, const char *bString, const char *testName, const char *file, size_t line, bool printDot)
ostream & operator<<(ostream &out, const vector< T > &v)
Prints out a vector.
void assertFail2(const char *cond, const char *expected, const StdData &data, const char *exp1, string exp1Value, const char *exp2, string exp2Value)
StdData(size_t lineParam, const char *fileParam, const char *testNameParam, bool printDotParam)