mirror of
https://github.com/holub/mame
synced 2025-05-15 10:28:16 +03:00
112 lines
2.9 KiB
C++
112 lines
2.9 KiB
C++
#include "UnitTest++/UnitTestPP.h"
|
|
#include "UnitTest++/TestResults.h"
|
|
#include "RecordingReporter.h"
|
|
|
|
using namespace UnitTest;
|
|
|
|
namespace {
|
|
|
|
TestDetails const details("testname", "suitename", "filename", 123);
|
|
|
|
|
|
TEST(StartsWithNoTestsRun)
|
|
{
|
|
TestResults results;
|
|
CHECK_EQUAL (0, results.GetTotalTestCount());
|
|
}
|
|
|
|
TEST(RecordsNumbersOfTests)
|
|
{
|
|
TestResults results;
|
|
results.OnTestStart(details);
|
|
results.OnTestStart(details);
|
|
results.OnTestStart(details);
|
|
CHECK_EQUAL(3, results.GetTotalTestCount());
|
|
}
|
|
|
|
TEST(StartsWithNoTestsFailing)
|
|
{
|
|
TestResults results;
|
|
CHECK_EQUAL (0, results.GetFailureCount());
|
|
}
|
|
|
|
TEST(RecordsNumberOfFailures)
|
|
{
|
|
TestResults results;
|
|
results.OnTestFailure(details, "");
|
|
results.OnTestFailure(details, "");
|
|
CHECK_EQUAL(2, results.GetFailureCount());
|
|
}
|
|
|
|
TEST(RecordsNumberOfFailedTests)
|
|
{
|
|
TestResults results;
|
|
|
|
results.OnTestStart(details);
|
|
results.OnTestFailure(details, "");
|
|
results.OnTestFinish(details, 0);
|
|
|
|
results.OnTestStart(details);
|
|
results.OnTestFailure(details, "");
|
|
results.OnTestFailure(details, "");
|
|
results.OnTestFailure(details, "");
|
|
results.OnTestFinish(details, 0);
|
|
|
|
CHECK_EQUAL (2, results.GetFailedTestCount());
|
|
}
|
|
|
|
TEST(NotifiesReporterOfTestStartWithCorrectInfo)
|
|
{
|
|
RecordingReporter reporter;
|
|
TestResults results(&reporter);
|
|
results.OnTestStart(details);
|
|
|
|
CHECK_EQUAL (1, reporter.testRunCount);
|
|
CHECK_EQUAL ("suitename", reporter.lastStartedSuite);
|
|
CHECK_EQUAL ("testname", reporter.lastStartedTest);
|
|
}
|
|
|
|
TEST(NotifiesReporterOfTestFailureWithCorrectInfo)
|
|
{
|
|
RecordingReporter reporter;
|
|
TestResults results(&reporter);
|
|
|
|
results.OnTestFailure(details, "failurestring");
|
|
CHECK_EQUAL (1, reporter.testFailedCount);
|
|
CHECK_EQUAL ("filename", reporter.lastFailedFile);
|
|
CHECK_EQUAL (123, reporter.lastFailedLine);
|
|
CHECK_EQUAL ("suitename", reporter.lastFailedSuite);
|
|
CHECK_EQUAL ("testname", reporter.lastFailedTest);
|
|
CHECK_EQUAL ("failurestring", reporter.lastFailedMessage);
|
|
}
|
|
|
|
TEST(NotifiesReporterOfCheckFailureWithCorrectInfo)
|
|
{
|
|
RecordingReporter reporter;
|
|
TestResults results(&reporter);
|
|
|
|
results.OnTestFailure(details, "failurestring");
|
|
CHECK_EQUAL (1, reporter.testFailedCount);
|
|
|
|
CHECK_EQUAL ("filename", reporter.lastFailedFile);
|
|
CHECK_EQUAL (123, reporter.lastFailedLine);
|
|
CHECK_EQUAL ("testname", reporter.lastFailedTest);
|
|
CHECK_EQUAL ("suitename", reporter.lastFailedSuite);
|
|
CHECK_EQUAL ("failurestring", reporter.lastFailedMessage);
|
|
}
|
|
|
|
TEST(NotifiesReporterOfTestEnd)
|
|
{
|
|
RecordingReporter reporter;
|
|
TestResults results(&reporter);
|
|
|
|
results.OnTestFinish(details, 0.1234f);
|
|
CHECK_EQUAL (1, reporter.testFinishedCount);
|
|
CHECK_EQUAL ("testname", reporter.lastFinishedTest);
|
|
CHECK_EQUAL ("suitename", reporter.lastFinishedSuite);
|
|
CHECK_CLOSE (0.1234f, reporter.lastFinishedTestTime, 0.0001f);
|
|
}
|
|
|
|
|
|
}
|