summaryrefslogtreecommitdiff
path: root/examples/cppunittest/TestResultCollectorTest.h
blob: bf7e5ae985134052b516531050aa40dfcb55ca34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#ifndef TESTCOLLECTORRESULTTEST_H
#define TESTCOLLECTORRESULTTEST_H

#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestFailure.h>
#include "SynchronizedTestResult.h"


class TestResultCollectorTest : public CPPUNIT_NS::TestFixture,
                       public SynchronizedTestResult::SynchronizationObjectListener
{
  CPPUNIT_TEST_SUITE( TestResultCollectorTest );
  CPPUNIT_TEST( testConstructor );
  CPPUNIT_TEST( testAddTwoErrors );
  CPPUNIT_TEST( testAddTwoFailures );
  CPPUNIT_TEST( testStartTest );
  CPPUNIT_TEST( testWasSuccessfulWithErrors );
  CPPUNIT_TEST( testWasSuccessfulWithFailures );
  CPPUNIT_TEST( testWasSuccessfulWithErrorsAndFailures );
  CPPUNIT_TEST( testWasSuccessfulWithSuccessfulTest );
  CPPUNIT_TEST( testSynchronizationAddFailure );
  CPPUNIT_TEST( testSynchronizationStartTest );
  CPPUNIT_TEST( testSynchronizationRunTests );
  CPPUNIT_TEST( testSynchronizationTestErrors );
  CPPUNIT_TEST( testSynchronizationTestFailures );
  CPPUNIT_TEST( testSynchronizationFailures );
  CPPUNIT_TEST( testSynchronizationWasSuccessful );
  CPPUNIT_TEST_SUITE_END();

public:
  TestResultCollectorTest();
  virtual ~TestResultCollectorTest();

  virtual void setUp();
  virtual void tearDown();

  void testConstructor();

  void testAddTwoErrors();
  void testAddTwoFailures();
  void testStartTest();

  void testWasSuccessfulWithNoTest();
  void testWasSuccessfulWithErrors();
  void testWasSuccessfulWithFailures();
  void testWasSuccessfulWithErrorsAndFailures();
  void testWasSuccessfulWithSuccessfulTest();

  void testSynchronizationAddFailure();
  void testSynchronizationStartTest();
  void testSynchronizationRunTests();
  void testSynchronizationTestErrors();
  void testSynchronizationTestFailures();
  void testSynchronizationErrors();
  void testSynchronizationFailures();
  void testSynchronizationWasSuccessful();

  virtual void locked();
  virtual void unlocked();

private:
  TestResultCollectorTest( const TestResultCollectorTest &copy );
  void operator =( const TestResultCollectorTest &copy );

  void checkResult( int failures,
                    int errors,
                    int testsRun );

  void checkFailure( CPPUNIT_NS::TestFailure *failure,
                     CPPUNIT_NS::Message expectedMessage,
                     CPPUNIT_NS::Test *expectedTest,
                     bool expectedIsError );

  void checkWasSuccessful( bool shouldBeSuccessful );

  void checkSynchronization();

  void addFailure( std::string message );
  void addError( std::string message );
  void addFailure( std::string message, 
                   CPPUNIT_NS::Test *failedTest, 
                   bool isError,
                   CPPUNIT_NS::TestResultCollector *result );

private:
  CPPUNIT_NS::TestResultCollector *m_result;
  SynchronizedTestResult *m_synchronizedResult;  
  CPPUNIT_NS::Test *m_test;
  CPPUNIT_NS::Test *m_test2;
  int m_lockCount;
  int m_unlockCount;
};



#endif  // TESTCOLLECTORRESULTTEST_H