summaryrefslogtreecommitdiff
path: root/include/cppunit/TextOutputter.h
blob: 6ce0b6119a3eca51aa5675061315e700479267cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef CPPUNIT_TEXTOUTPUTTER_H
#define CPPUNIT_TEXTOUTPUTTER_H

#include <cppunit/Portability.h>
#include <cppunit/Outputter.h>
#include <iostream>

namespace CppUnit
{

class Exception;
class SourceLine;
class TestResultCollector;
class TestFailure;


/*! Print a TestResultCollector in text format.
 */
class CPPUNIT_API TextOutputter : public Outputter
{
public:
  TextOutputter( TestResultCollector *result,
                 std::ostream &stream );

  /// Destructor.
  virtual ~TextOutputter();

  void write();
  virtual void printFailures();
  virtual void printHeader();

  virtual void printFailure( TestFailure *failure,
                             int failureNumber );
  virtual void printFailureListMark( int failureNumber );
  virtual void printFailureTestName( TestFailure *failure );
  virtual void printFailureType( TestFailure *failure );
  virtual void printFailureLocation( SourceLine sourceLine );
  virtual void printFailureDetail( Exception *thrownException );
  virtual void printFailureWarning();
  virtual void printStatistics();

protected:
  TestResultCollector *m_result;
  std::ostream &m_stream;

private:
  /// Prevents the use of the copy constructor.
  TextOutputter( const TextOutputter &copy );

  /// Prevents the use of the copy operator.
  void operator =( const TextOutputter &copy );
};



} //  namespace CppUnit


#endif  // CPPUNIT_TEXTOUTPUTTER_H