summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/unittest-cpp/UnitTest++/CompositeTestReporter.h
blob: a9a0d296964ba0885207e5fb194fe2519f6adc25 (plain) (blame)
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
#ifndef UNITTEST_COMPOSITETESTREPORTER_H
#define UNITTEST_COMPOSITETESTREPORTER_H

#include "TestReporter.h"

namespace UnitTest {

class UNITTEST_LINKAGE CompositeTestReporter : public TestReporter
{
public:
    CompositeTestReporter();

	int GetReporterCount() const;
    bool AddReporter(TestReporter* reporter);
    bool RemoveReporter(TestReporter* reporter);

    virtual void ReportTestStart(TestDetails const& test);
    virtual void ReportFailure(TestDetails const& test, char const* failure);
    virtual void ReportTestFinish(TestDetails const& test, float secondsElapsed);
    virtual void ReportSummary(int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed);

private:
	enum { kMaxReporters = 16 };
	TestReporter* m_reporters[kMaxReporters];
	int m_reporterCount;

	// revoked
	CompositeTestReporter(const CompositeTestReporter&);
	CompositeTestReporter& operator =(const CompositeTestReporter&);
};

}

#endif