File: CompositeTestReporter.cpp

package info (click to toggle)
etlcpp 20.40.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 18,548 kB
  • sloc: cpp: 257,359; ansic: 10,566; sh: 1,730; asm: 301; python: 281; makefile: 24
file content (66 lines) | stat: -rw-r--r-- 1,937 bytes parent folder | download | duplicates (4)
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
60
61
62
63
64
65
66
#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);
   }

}