+// macro to use for the functions which are supposed to fail an assertion
+#if wxDEBUG_LEVEL
+ // some old cppunit versions don't define CPPUNIT_ASSERT_THROW so roll our
+ // own
+ #define WX_ASSERT_FAILS_WITH_ASSERT(cond) \
+ { \
+ bool throwsAssert = false; \
+ try { cond ; } \
+ catch ( const TestAssertFailure& ) { throwsAssert = true; } \
+ if ( !throwsAssert ) \
+ CPPUNIT_FAIL("expected assertion not generated"); \
+ }
+#else
+ // there are no assertions in this build so just check that it fails
+ #define WX_ASSERT_FAILS_WITH_ASSERT(cond) CPPUNIT_ASSERT(!(cond))
+#endif