| #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); |
| } |
| |
| |
| } |