1 #ifndef TESTFAILURETEST_H 2 #define TESTFAILURETEST_H 3 4 #include <cppunit/extensions/HelperMacros.h> 5 6 7 class TestFailureTest : public CPPUNIT_NS::TestFixture 8 { 9 CPPUNIT_TEST_SUITE( TestFailureTest ); 10 CPPUNIT_TEST( testConstructorAndGetters ); 11 CPPUNIT_TEST( testConstructorAndGettersForError ); 12 CPPUNIT_TEST_SUITE_END(); 13 14 public: 15 TestFailureTest(); 16 virtual ~TestFailureTest(); 17 18 virtual void setUp(); 19 virtual void tearDown(); 20 21 void testConstructorAndGetters(); 22 void testConstructorAndGettersForError(); 23 24 void exceptionDestroyed(); 25 26 private: 27 class ObservedException : public CPPUNIT_NS::Exception 28 { 29 public: ObservedException(TestFailureTest * listener)30 ObservedException( TestFailureTest *listener ) : 31 CPPUNIT_NS::Exception( CPPUNIT_NS::Message("ObservedException" ) ), 32 m_listener( listener ) 33 { 34 } 35 ~ObservedException()36 virtual ~ObservedException() throw() 37 { 38 m_listener->exceptionDestroyed(); 39 } 40 private: 41 TestFailureTest *m_listener; 42 }; 43 44 45 TestFailureTest( const TestFailureTest © ); 46 void operator =( const TestFailureTest © ); 47 void checkTestFailure( CPPUNIT_NS::Test *test, 48 CPPUNIT_NS::Exception *error, 49 bool isError ); 50 51 private: 52 bool m_exceptionDestroyed; 53 }; 54 55 56 57 #endif // TESTFAILURETEST_H 58