1*2f083884Ss.makeev_local #include "UnitTest++/UnitTestPP.h"
2*2f083884Ss.makeev_local #include "UnitTest++/TestResults.h"
3*2f083884Ss.makeev_local #include "RecordingReporter.h"
4*2f083884Ss.makeev_local
5*2f083884Ss.makeev_local using namespace UnitTest;
6*2f083884Ss.makeev_local
7*2f083884Ss.makeev_local namespace {
8*2f083884Ss.makeev_local
9*2f083884Ss.makeev_local TestDetails const details("testname", "suitename", "filename", 123);
10*2f083884Ss.makeev_local
11*2f083884Ss.makeev_local
TEST(StartsWithNoTestsRun)12*2f083884Ss.makeev_local TEST(StartsWithNoTestsRun)
13*2f083884Ss.makeev_local {
14*2f083884Ss.makeev_local TestResults results;
15*2f083884Ss.makeev_local CHECK_EQUAL (0, results.GetTotalTestCount());
16*2f083884Ss.makeev_local }
17*2f083884Ss.makeev_local
TEST(RecordsNumbersOfTests)18*2f083884Ss.makeev_local TEST(RecordsNumbersOfTests)
19*2f083884Ss.makeev_local {
20*2f083884Ss.makeev_local TestResults results;
21*2f083884Ss.makeev_local results.OnTestStart(details);
22*2f083884Ss.makeev_local results.OnTestStart(details);
23*2f083884Ss.makeev_local results.OnTestStart(details);
24*2f083884Ss.makeev_local CHECK_EQUAL(3, results.GetTotalTestCount());
25*2f083884Ss.makeev_local }
26*2f083884Ss.makeev_local
TEST(StartsWithNoTestsFailing)27*2f083884Ss.makeev_local TEST(StartsWithNoTestsFailing)
28*2f083884Ss.makeev_local {
29*2f083884Ss.makeev_local TestResults results;
30*2f083884Ss.makeev_local CHECK_EQUAL (0, results.GetFailureCount());
31*2f083884Ss.makeev_local }
32*2f083884Ss.makeev_local
TEST(RecordsNumberOfFailures)33*2f083884Ss.makeev_local TEST(RecordsNumberOfFailures)
34*2f083884Ss.makeev_local {
35*2f083884Ss.makeev_local TestResults results;
36*2f083884Ss.makeev_local results.OnTestFailure(details, "");
37*2f083884Ss.makeev_local results.OnTestFailure(details, "");
38*2f083884Ss.makeev_local CHECK_EQUAL(2, results.GetFailureCount());
39*2f083884Ss.makeev_local }
40*2f083884Ss.makeev_local
TEST(RecordsNumberOfFailedTests)41*2f083884Ss.makeev_local TEST(RecordsNumberOfFailedTests)
42*2f083884Ss.makeev_local {
43*2f083884Ss.makeev_local TestResults results;
44*2f083884Ss.makeev_local
45*2f083884Ss.makeev_local results.OnTestStart(details);
46*2f083884Ss.makeev_local results.OnTestFailure(details, "");
47*2f083884Ss.makeev_local results.OnTestFinish(details, 0);
48*2f083884Ss.makeev_local
49*2f083884Ss.makeev_local results.OnTestStart(details);
50*2f083884Ss.makeev_local results.OnTestFailure(details, "");
51*2f083884Ss.makeev_local results.OnTestFailure(details, "");
52*2f083884Ss.makeev_local results.OnTestFailure(details, "");
53*2f083884Ss.makeev_local results.OnTestFinish(details, 0);
54*2f083884Ss.makeev_local
55*2f083884Ss.makeev_local CHECK_EQUAL (2, results.GetFailedTestCount());
56*2f083884Ss.makeev_local }
57*2f083884Ss.makeev_local
TEST(NotifiesReporterOfTestStartWithCorrectInfo)58*2f083884Ss.makeev_local TEST(NotifiesReporterOfTestStartWithCorrectInfo)
59*2f083884Ss.makeev_local {
60*2f083884Ss.makeev_local RecordingReporter reporter;
61*2f083884Ss.makeev_local TestResults results(&reporter);
62*2f083884Ss.makeev_local results.OnTestStart(details);
63*2f083884Ss.makeev_local
64*2f083884Ss.makeev_local CHECK_EQUAL (1, reporter.testRunCount);
65*2f083884Ss.makeev_local CHECK_EQUAL ("suitename", reporter.lastStartedSuite);
66*2f083884Ss.makeev_local CHECK_EQUAL ("testname", reporter.lastStartedTest);
67*2f083884Ss.makeev_local }
68*2f083884Ss.makeev_local
TEST(NotifiesReporterOfTestFailureWithCorrectInfo)69*2f083884Ss.makeev_local TEST(NotifiesReporterOfTestFailureWithCorrectInfo)
70*2f083884Ss.makeev_local {
71*2f083884Ss.makeev_local RecordingReporter reporter;
72*2f083884Ss.makeev_local TestResults results(&reporter);
73*2f083884Ss.makeev_local
74*2f083884Ss.makeev_local results.OnTestFailure(details, "failurestring");
75*2f083884Ss.makeev_local CHECK_EQUAL (1, reporter.testFailedCount);
76*2f083884Ss.makeev_local CHECK_EQUAL ("filename", reporter.lastFailedFile);
77*2f083884Ss.makeev_local CHECK_EQUAL (123, reporter.lastFailedLine);
78*2f083884Ss.makeev_local CHECK_EQUAL ("suitename", reporter.lastFailedSuite);
79*2f083884Ss.makeev_local CHECK_EQUAL ("testname", reporter.lastFailedTest);
80*2f083884Ss.makeev_local CHECK_EQUAL ("failurestring", reporter.lastFailedMessage);
81*2f083884Ss.makeev_local }
82*2f083884Ss.makeev_local
TEST(NotifiesReporterOfCheckFailureWithCorrectInfo)83*2f083884Ss.makeev_local TEST(NotifiesReporterOfCheckFailureWithCorrectInfo)
84*2f083884Ss.makeev_local {
85*2f083884Ss.makeev_local RecordingReporter reporter;
86*2f083884Ss.makeev_local TestResults results(&reporter);
87*2f083884Ss.makeev_local
88*2f083884Ss.makeev_local results.OnTestFailure(details, "failurestring");
89*2f083884Ss.makeev_local CHECK_EQUAL (1, reporter.testFailedCount);
90*2f083884Ss.makeev_local
91*2f083884Ss.makeev_local CHECK_EQUAL ("filename", reporter.lastFailedFile);
92*2f083884Ss.makeev_local CHECK_EQUAL (123, reporter.lastFailedLine);
93*2f083884Ss.makeev_local CHECK_EQUAL ("testname", reporter.lastFailedTest);
94*2f083884Ss.makeev_local CHECK_EQUAL ("suitename", reporter.lastFailedSuite);
95*2f083884Ss.makeev_local CHECK_EQUAL ("failurestring", reporter.lastFailedMessage);
96*2f083884Ss.makeev_local }
97*2f083884Ss.makeev_local
TEST(NotifiesReporterOfTestEnd)98*2f083884Ss.makeev_local TEST(NotifiesReporterOfTestEnd)
99*2f083884Ss.makeev_local {
100*2f083884Ss.makeev_local RecordingReporter reporter;
101*2f083884Ss.makeev_local TestResults results(&reporter);
102*2f083884Ss.makeev_local
103*2f083884Ss.makeev_local results.OnTestFinish(details, 0.1234f);
104*2f083884Ss.makeev_local CHECK_EQUAL (1, reporter.testFinishedCount);
105*2f083884Ss.makeev_local CHECK_EQUAL ("testname", reporter.lastFinishedTest);
106*2f083884Ss.makeev_local CHECK_EQUAL ("suitename", reporter.lastFinishedSuite);
107*2f083884Ss.makeev_local CHECK_CLOSE (0.1234f, reporter.lastFinishedTestTime, 0.0001f);
108*2f083884Ss.makeev_local }
109*2f083884Ss.makeev_local
110*2f083884Ss.makeev_local
111*2f083884Ss.makeev_local }
112