- #include "CompositeTestReporter.h" 
- #include <cstddef> 
-   
- namespace UnitTest { 
-   
-    CompositeTestReporter::CompositeTestReporter() 
-       : m_reporterCount(0) 
-    {} 
-   
-    int CompositeTestReporter::GetReporterCount() const 
-    { 
-       return m_reporterCount; 
-    } 
-   
-    bool CompositeTestReporter::AddReporter(TestReporter* reporter) 
-    { 
-       if (m_reporterCount == kMaxReporters) 
-          return false; 
-   
-       m_reporters[m_reporterCount++] = reporter; 
-       return true; 
-    } 
-   
-    bool CompositeTestReporter::RemoveReporter(TestReporter* reporter) 
-    { 
-       for (int index = 0; index < m_reporterCount; ++index) 
-       { 
-          if (m_reporters[index] == reporter) 
-          { 
-             m_reporters[index] = m_reporters[m_reporterCount - 1]; 
-             --m_reporterCount; 
-             return true; 
-          } 
-       } 
-   
-       return false; 
-    } 
-   
-    void CompositeTestReporter::ReportFailure(TestDetails const& details, char const* failure) 
-    { 
-       for (int index = 0; index < m_reporterCount; ++index) 
-          m_reporters[index]->ReportFailure(details, failure); 
-    } 
-   
-    void CompositeTestReporter::ReportTestStart(TestDetails const& test) 
-    { 
-       for (int index = 0; index < m_reporterCount; ++index) 
-          m_reporters[index]->ReportTestStart(test); 
-    } 
-   
-    void CompositeTestReporter::ReportTestFinish(TestDetails const& test, float secondsElapsed) 
-    { 
-       for (int index = 0; index < m_reporterCount; ++index) 
-          m_reporters[index]->ReportTestFinish(test, secondsElapsed); 
-    } 
-   
-    void CompositeTestReporter::ReportSummary(int totalTestCount, 
-                                              int failedTestCount, 
-                                              int failureCount, 
-                                              float secondsElapsed) 
-    { 
-       for (int index = 0; index < m_reporterCount; ++index) 
-          m_reporters[index]->ReportSummary(totalTestCount, failedTestCount, failureCount, secondsElapsed); 
-    } 
-   
- } 
-