mirror of
https://github.com/holub/mame
synced 2025-05-01 04:06:58 +03:00
68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
#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);
|
|
}
|
|
|
|
}
|