summaryrefslogtreecommitdiff
path: root/examples/cppunittest/TestFailureTest.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cppunittest/TestFailureTest.h')
-rw-r--r--examples/cppunittest/TestFailureTest.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/examples/cppunittest/TestFailureTest.h b/examples/cppunittest/TestFailureTest.h
new file mode 100644
index 0000000..9e5e297
--- /dev/null
+++ b/examples/cppunittest/TestFailureTest.h
@@ -0,0 +1,54 @@
+#ifndef TESTFAILURETEST_H
+#define TESTFAILURETEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class TestFailureTest : public CppUnit::TestCase
+{
+ CPPUNIT_TEST_SUITE( TestFailureTest );
+ CPPUNIT_TEST( testConstructorAndGetters );
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ TestFailureTest();
+ virtual ~TestFailureTest();
+
+ virtual void setUp();
+ virtual void tearDown();
+
+ void testConstructorAndGetters();
+
+ void exceptionDestroyed();
+
+private:
+ class ObservedException : public CppUnit::Exception
+ {
+ public:
+ ObservedException( TestFailureTest *listener ) :
+ CppUnit::Exception( "ObservedException" ),
+ m_listener( listener )
+ {
+ }
+
+ virtual ~ObservedException()
+ {
+ m_listener->exceptionDestroyed();
+ }
+ private:
+ TestFailureTest *m_listener;
+ };
+
+
+ TestFailureTest( const TestFailureTest &copy );
+ void operator =( const TestFailureTest &copy );
+ void checkTestFailure( CppUnit::Test *test,
+ CppUnit::Exception *error );
+
+private:
+ bool m_exceptionDestroyed;
+};
+
+
+
+#endif // TESTFAILURETEST_H