1#ifndef CPPUNIT_TEXTOUTPUTTER_H 2#define CPPUNIT_TEXTOUTPUTTER_H 3 4#include <cppunit/Portability.h> 5#include <cppunit/Outputter.h> 6#include <iostream> 7 8namespace CppUnit 9{ 10 11class Exception; 12class SourceLine; 13class TestResultCollector; 14class TestFailure; 15 16 17/*! \brief Prints a TestResultCollector to a text stream. 18 * \ingroup WritingTestResult 19 */ 20class CPPUNIT_API TextOutputter : public Outputter 21{ 22public: 23 TextOutputter( TestResultCollector *result, 24 std::ostream &stream ); 25 26 /// Destructor. 27 virtual ~TextOutputter(); 28 29 void write(); 30 virtual void printFailures(); 31 virtual void printHeader(); 32 33 virtual void printFailure( TestFailure *failure, 34 int failureNumber ); 35 virtual void printFailureListMark( int failureNumber ); 36 virtual void printFailureTestName( TestFailure *failure ); 37 virtual void printFailureType( TestFailure *failure ); 38 virtual void printFailureLocation( SourceLine sourceLine ); 39 virtual void printFailureDetail( Exception *thrownException ); 40 virtual void printFailureWarning(); 41 virtual void printStatistics(); 42 43protected: 44 TestResultCollector *m_result; 45 std::ostream &m_stream; 46 47private: 48 /// Prevents the use of the copy constructor. 49 TextOutputter( const TextOutputter © ); 50 51 /// Prevents the use of the copy operator. 52 void operator =( const TextOutputter © ); 53}; 54 55 56 57} // namespace CppUnit 58 59 60#endif // CPPUNIT_TEXTOUTPUTTER_H 61