1 #ifndef MOCKTESTLISTENER_H
2 #define MOCKTESTLISTENER_H
3 
4 #include <cppunit/TestListener.h>
5 #include <string>
6 
7 
8 class MockTestListener : public CPPUNIT_NS::TestListener
9 {
10 public:
11   MockTestListener( std::string name );
~MockTestListener()12   virtual ~MockTestListener() {}
13 
14   void setExpectFailure( CPPUNIT_NS::Test *failedTest,
15                          CPPUNIT_NS::Exception *thrownException,
16                          bool isError );
17   void setExpectNoFailure();
18   void setExpectFailure();
19   void setExpectedAddFailureCall( int callCount );
20   void setExpectStartTest( CPPUNIT_NS::Test *test );
21   void setExpectedStartTestCall( int callCount );
22   void setExpectEndTest( CPPUNIT_NS::Test *test );
23   void setExpectedEndTestCall( int callCount );
24   void setExpectStartSuite( CPPUNIT_NS::Test *suite );
25   void setExpectedStartSuiteCall( int callCount );
26   void setExpectEndSuite( CPPUNIT_NS::Test *suite );
27   void setExpectedEndSuiteCall( int callCount );
28   void setExpectStartTestRun( CPPUNIT_NS::Test *test,
29                               CPPUNIT_NS::TestResult *eventManager );
30   void setExpectedStartTestRunCall( int callCount );
31   void setExpectEndTestRun( CPPUNIT_NS::Test *test,
32                             CPPUNIT_NS::TestResult *eventManager );
33   void setExpectedEndTestRunCall( int callCount );
34 
35   void addFailure( const CPPUNIT_NS::TestFailure &failure );
36   void startTest( CPPUNIT_NS::Test *test );
37   void endTest( CPPUNIT_NS::Test *test );
38   void startSuite( CPPUNIT_NS::Test *suite );
39   void endSuite( CPPUNIT_NS::Test *suite );
40   void startTestRun( CPPUNIT_NS::Test *test,
41                      CPPUNIT_NS::TestResult *eventManager );
42   void endTestRun( CPPUNIT_NS::Test *test,
43                    CPPUNIT_NS::TestResult *eventManager );
44 
45   void verify();
46 
47 private:
48   std::string m_name;
49 
50   bool m_hasExpectationForStartTest;
51   bool m_hasParametersExpectationForStartTest;
52   int m_expectedStartTestCallCount;
53   int m_startTestCall;
54   CPPUNIT_NS::Test *m_expectedStartTest;
55 
56   bool m_hasExpectationForEndTest;
57   bool m_hasParametersExpectationForEndTest;
58   int m_expectedEndTestCallCount;
59   CPPUNIT_NS::Test *m_expectedEndTest;
60   int m_endTestCall;
61 
62   bool m_hasExpectationForStartSuite;
63   bool m_hasParametersExpectationForStartSuite;
64   int m_expectedStartSuiteCallCount;
65   CPPUNIT_NS::Test *m_expectedStartSuite;
66   int m_startSuiteCall;
67 
68   bool m_hasExpectationForEndSuite;
69   bool m_hasParametersExpectationForEndSuite;
70   int m_expectedEndSuiteCallCount;
71   CPPUNIT_NS::Test *m_expectedEndSuite;
72   int m_endSuiteCall;
73 
74   bool m_hasExpectationForStartTestRun;
75   bool m_hasParametersExpectationForStartTestRun;
76   int m_expectedStartTestRunCallCount;
77   CPPUNIT_NS::Test *m_expectedStartTestRun;
78   CPPUNIT_NS::TestResult *m_expectedStartTestRun2;
79   int m_startTestRunCall;
80 
81   bool m_hasExpectationForEndTestRun;
82   bool m_hasParametersExpectationForEndTestRun;
83   int m_expectedEndTestRunCallCount;
84   CPPUNIT_NS::Test *m_expectedEndTestRun;
85   CPPUNIT_NS::TestResult *m_expectedEndTestRun2;
86   int m_endTestRunCall;
87 
88   bool m_hasExpectationForAddFailure;
89   bool m_hasExpectationForSomeFailure;
90   bool m_hasParametersExpectationForAddFailure;
91   int m_expectedAddFailureCallCount;
92   int m_addFailureCall;
93   CPPUNIT_NS::Test *m_expectedFailedTest;
94   CPPUNIT_NS::Exception *m_expectedException;
95   bool m_expectedIsError;
96 };
97 
98 
99 
100 // Inlines methods for MockTestListener:
101 // -------------------------------------
102 
103 
104 
105 #endif  // MOCKTESTLISTENER_H
106