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 &copy );
50
51  /// Prevents the use of the copy operator.
52  void operator =( const TextOutputter &copy );
53};
54
55
56
57} //  namespace CppUnit
58
59
60#endif  // CPPUNIT_TEXTOUTPUTTER_H
61