diff options
Diffstat (limited to 'include/cppunit/TestFailure.h')
| -rw-r--r-- | include/cppunit/TestFailure.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/include/cppunit/TestFailure.h b/include/cppunit/TestFailure.h new file mode 100644 index 0000000..f8dae91 --- /dev/null +++ b/include/cppunit/TestFailure.h @@ -0,0 +1,57 @@ +#ifndef CPPUNIT_TESTFAILURE_H +#define CPPUNIT_TESTFAILURE_H + +#include <string> + +namespace CppUnit { + + class Test; + class Exception; + + + /** + * A TestFailure collects a failed test together with + * the caught exception. + * + * TestFailure assumes lifetime control for any exception + * passed to it. The lifetime of tests is handled by + * their TestSuite (if they have been added to one) or + * whomever creates them. + * + * see TestResult + * see TestSuite + * + */ + class TestFailure + { + public: + TestFailure (Test *failedTest, Exception *thrownException); + ~TestFailure (); + + Test* failedTest (); + + Exception* thrownException (); + + std::string toString () const; + + protected: + Test *m_failedTest; + Exception *m_thrownException; + + private: + TestFailure (const TestFailure& other); + TestFailure& operator= (const TestFailure& other); + }; + + /// Gets the failed test. + inline Test *TestFailure::failedTest () + { return m_failedTest; } + + + /// Gets the thrown exception. + inline Exception *TestFailure::thrownException () + { return m_thrownException; } + +} // namespace CppUnit + +#endif // CPPUNIT_TESTFAILURE_H |
