#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