Blame examples/cppunittest/MockTestListener.cpp

Packit Service e31359
#include <cppunit/TestAssert.h>
Packit Service e31359
#include <cppunit/TestFailure.h>
Packit Service e31359
#include "MockTestListener.h"
Packit Service e31359
Packit Service e31359
Packit Service e31359
MockTestListener::MockTestListener( std::string name )
Packit Service e31359
    : m_name( name )
Packit Service e31359
    , m_hasExpectationForStartTest( false )
Packit Service e31359
    , m_hasParametersExpectationForStartTest( false )
Packit Service e31359
    , m_expectedStartTestCallCount( 0 )
Packit Service e31359
    , m_startTestCall( 0 )
Packit Service e31359
    , m_hasExpectationForEndTest( false )
Packit Service e31359
    , m_hasParametersExpectationForEndTest( false )
Packit Service e31359
    , m_expectedEndTestCallCount( 0 )
Packit Service e31359
    , m_endTestCall( 0 )
Packit Service e31359
    , m_hasExpectationForStartSuite( false )
Packit Service e31359
    , m_hasParametersExpectationForStartSuite( false )
Packit Service e31359
    , m_expectedStartSuiteCallCount( 0 )
Packit Service e31359
    , m_startSuiteCall( 0 )
Packit Service e31359
    , m_hasExpectationForEndSuite( false )
Packit Service e31359
    , m_hasParametersExpectationForEndSuite( false )
Packit Service e31359
    , m_expectedEndSuiteCallCount( 0 )
Packit Service e31359
    , m_endSuiteCall( 0 )
Packit Service e31359
    , m_hasExpectationForStartTestRun( false )
Packit Service e31359
    , m_hasParametersExpectationForStartTestRun( false )
Packit Service e31359
    , m_expectedStartTestRunCallCount( 0 )
Packit Service e31359
    , m_startTestRunCall( 0 )
Packit Service e31359
    , m_hasExpectationForEndTestRun( false )
Packit Service e31359
    , m_hasParametersExpectationForEndTestRun( false )
Packit Service e31359
    , m_expectedEndTestRunCallCount( 0 )
Packit Service e31359
    , m_endTestRunCall( 0 )
Packit Service e31359
    , m_hasExpectationForAddFailure( false )
Packit Service e31359
    , m_hasExpectationForSomeFailure( false )
Packit Service e31359
    , m_hasParametersExpectationForAddFailure( false )
Packit Service e31359
    , m_expectedAddFailureCallCount( 0 )
Packit Service e31359
    , m_addFailureCall( 0 )
Packit Service e31359
    , m_expectedFailedTest( NULL )
Packit Service e31359
    , m_expectedException( NULL )
Packit Service e31359
    , m_expectedIsError( false )
Packit Service e31359
{
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectFailure( CPPUNIT_NS::Test *failedTest,
Packit Service e31359
                                    CPPUNIT_NS::Exception *thrownException,
Packit Service e31359
                                    bool isError )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForAddFailure = true;
Packit Service e31359
  m_hasParametersExpectationForAddFailure = true;
Packit Service e31359
  m_expectedAddFailureCallCount = 1;
Packit Service e31359
  m_expectedFailedTest = failedTest;
Packit Service e31359
  m_expectedException = thrownException;
Packit Service e31359
  m_expectedIsError = isError;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectNoFailure()
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForAddFailure = true;
Packit Service e31359
  m_expectedAddFailureCallCount = 0;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectFailure()
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForSomeFailure = true;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedAddFailureCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForAddFailure = true;
Packit Service e31359
  m_expectedAddFailureCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectStartTest( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartTest = true;
Packit Service e31359
  m_hasParametersExpectationForStartTest = true;
Packit Service e31359
  m_expectedStartTestCallCount = 1;
Packit Service e31359
  m_expectedStartTest = test;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedStartTestCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartTest = true;
Packit Service e31359
  m_expectedStartTestCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectEndTest( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndTest = true;
Packit Service e31359
  m_hasParametersExpectationForEndTest = true;
Packit Service e31359
  m_expectedEndTestCallCount = 1;
Packit Service e31359
  m_expectedEndTest = test;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedEndTestCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndTest = true;
Packit Service e31359
  m_expectedEndTestCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectStartSuite( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartSuite = true;
Packit Service e31359
  m_hasParametersExpectationForStartSuite = true;
Packit Service e31359
  m_expectedStartSuiteCallCount = 1;
Packit Service e31359
  m_expectedStartSuite = test;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedStartSuiteCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartSuite = true;
Packit Service e31359
  m_expectedStartSuiteCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectEndSuite( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndSuite = true;
Packit Service e31359
  m_hasParametersExpectationForEndSuite = true;
Packit Service e31359
  m_expectedEndSuiteCallCount = 1;
Packit Service e31359
  m_expectedEndSuite = test;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedEndSuiteCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndSuite = true;
Packit Service e31359
  m_expectedEndSuiteCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectStartTestRun( CPPUNIT_NS::Test *test,
Packit Service e31359
                                         CPPUNIT_NS::TestResult *eventManager )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartTestRun = true;
Packit Service e31359
  m_hasParametersExpectationForStartTestRun = true;
Packit Service e31359
  m_expectedStartTestRunCallCount = 1;
Packit Service e31359
  m_expectedStartTestRun = test;
Packit Service e31359
  m_expectedStartTestRun2 = eventManager;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedStartTestRunCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForStartTestRun = true;
Packit Service e31359
  m_expectedStartTestRunCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectEndTestRun( CPPUNIT_NS::Test *test,
Packit Service e31359
                                       CPPUNIT_NS::TestResult *eventManager )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndTestRun = true;
Packit Service e31359
  m_hasParametersExpectationForEndTestRun = true;
Packit Service e31359
  m_expectedEndTestRunCallCount = 1;
Packit Service e31359
  m_expectedEndTestRun = test;
Packit Service e31359
  m_expectedEndTestRun2 = eventManager;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::setExpectedEndTestRunCall( int callCount )
Packit Service e31359
{
Packit Service e31359
  m_hasExpectationForEndTestRun = true;
Packit Service e31359
  m_expectedEndTestRunCallCount = callCount;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::addFailure( const CPPUNIT_NS::TestFailure &failure )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForAddFailure  ||  m_hasExpectationForSomeFailure )
Packit Service e31359
    ++m_addFailureCall;
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForAddFailure )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_addFailureCall <= m_expectedAddFailureCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForAddFailure )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedFailedTest == failure.failedTest() );
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad thrownException",
Packit Service e31359
                            m_expectedException == failure.thrownException() );
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad isError",
Packit Service e31359
                            m_expectedIsError == failure.isError() );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::startTest( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForStartTest )
Packit Service e31359
  {
Packit Service e31359
    ++m_startTestCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_startTestCall <= m_expectedStartTestCallCount );
Packit Service e31359
  
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForStartTest )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedStartTest == test );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::endTest( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForEndTest )
Packit Service e31359
  {
Packit Service e31359
    ++m_endTestCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_endTestCall <= m_expectedEndTestCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForEndTest )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedEndTest == test );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::startSuite( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForStartSuite )
Packit Service e31359
  {
Packit Service e31359
    ++m_startSuiteCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_startSuiteCall <= m_expectedStartSuiteCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForStartSuite )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedStartSuite == test );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::endSuite( CPPUNIT_NS::Test *test )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForEndSuite )
Packit Service e31359
  {
Packit Service e31359
    ++m_endSuiteCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_endSuiteCall <= m_expectedEndSuiteCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForEndSuite )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedEndSuite == test );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::startTestRun( CPPUNIT_NS::Test *test, 
Packit Service e31359
                                CPPUNIT_NS::TestResult *eventManager )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForStartTestRun )
Packit Service e31359
  {
Packit Service e31359
    ++m_startTestRunCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_startTestRunCall <= m_expectedStartTestRunCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForStartTestRun )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedStartTestRun == test );
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad eventManager",
Packit Service e31359
                            m_expectedStartTestRun2 == eventManager );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::endTestRun( CPPUNIT_NS::Test *test, 
Packit Service e31359
                              CPPUNIT_NS::TestResult *eventManager )
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForEndTestRun )
Packit Service e31359
  {
Packit Service e31359
    ++m_endTestRunCall;
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
Packit Service e31359
                            m_endTestRunCall <= m_expectedEndTestRunCallCount );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasParametersExpectationForEndTestRun )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
Packit Service e31359
                            m_expectedEndTestRun == test );
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad eventManager",
Packit Service e31359
                            m_expectedEndTestRun2 == eventManager );
Packit Service e31359
  }
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
MockTestListener::verify()
Packit Service e31359
{
Packit Service e31359
  if ( m_hasExpectationForStartTest )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startTest calls",
Packit Service e31359
                                  m_expectedStartTestCallCount, 
Packit Service e31359
                                  m_startTestCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForEndTest )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endTest calls",
Packit Service e31359
                                  m_expectedEndTestCallCount, 
Packit Service e31359
                                  m_endTestCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForStartSuite )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startSuite calls",
Packit Service e31359
                                  m_expectedStartSuiteCallCount, 
Packit Service e31359
                                  m_startSuiteCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForEndSuite )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endSuite calls",
Packit Service e31359
                                  m_expectedEndSuiteCallCount, 
Packit Service e31359
                                  m_endSuiteCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForStartTestRun )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startTestRun calls",
Packit Service e31359
                                  m_expectedStartTestRunCallCount, 
Packit Service e31359
                                  m_startTestRunCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForEndTestRun )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endTestRun calls",
Packit Service e31359
                                  m_expectedEndTestRunCallCount, 
Packit Service e31359
                                  m_endTestRunCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForAddFailure )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing addFailure calls",
Packit Service e31359
                                  m_expectedAddFailureCallCount, 
Packit Service e31359
                                  m_addFailureCall );
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
  if ( m_hasExpectationForSomeFailure )
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( m_name + ": there was no call to "
Packit Service e31359
                                "MockTestListener::addFailure()",
Packit Service e31359
                            m_addFailureCall > 0 );
Packit Service e31359
  }
Packit Service e31359
}