?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. #include "CompositeTestReporter.h"
  2. #include <cstddef>
  3.  
  4. namespace UnitTest {
  5.  
  6.    CompositeTestReporter::CompositeTestReporter()
  7.       : m_reporterCount(0)
  8.    {}
  9.  
  10.    int CompositeTestReporter::GetReporterCount() const
  11.    {
  12.       return m_reporterCount;
  13.    }
  14.  
  15.    bool CompositeTestReporter::AddReporter(TestReporter* reporter)
  16.    {
  17.       if (m_reporterCount == kMaxReporters)
  18.          return false;
  19.  
  20.       m_reporters[m_reporterCount++] = reporter;
  21.       return true;
  22.    }
  23.  
  24.    bool CompositeTestReporter::RemoveReporter(TestReporter* reporter)
  25.    {
  26.       for (int index = 0; index < m_reporterCount; ++index)
  27.       {
  28.          if (m_reporters[index] == reporter)
  29.          {
  30.             m_reporters[index] = m_reporters[m_reporterCount - 1];
  31.             --m_reporterCount;
  32.             return true;
  33.          }
  34.       }
  35.  
  36.       return false;
  37.    }
  38.  
  39.    void CompositeTestReporter::ReportFailure(TestDetails const& details, char const* failure)
  40.    {
  41.       for (int index = 0; index < m_reporterCount; ++index)
  42.          m_reporters[index]->ReportFailure(details, failure);
  43.    }
  44.  
  45.    void CompositeTestReporter::ReportTestStart(TestDetails const& test)
  46.    {
  47.       for (int index = 0; index < m_reporterCount; ++index)
  48.          m_reporters[index]->ReportTestStart(test);
  49.    }
  50.  
  51.    void CompositeTestReporter::ReportTestFinish(TestDetails const& test, float secondsElapsed)
  52.    {
  53.       for (int index = 0; index < m_reporterCount; ++index)
  54.          m_reporters[index]->ReportTestFinish(test, secondsElapsed);
  55.    }
  56.  
  57.    void CompositeTestReporter::ReportSummary(int totalTestCount,
  58.                                              int failedTestCount,
  59.                                              int failureCount,
  60.                                              float secondsElapsed)
  61.    {
  62.       for (int index = 0; index < m_reporterCount; ++index)
  63.          m_reporters[index]->ReportSummary(totalTestCount, failedTestCount, failureCount, secondsElapsed);
  64.    }
  65.  
  66. }
  67.