Blame examples/cppunittest/MockTestCase.cpp

Packit 8c9aa0
#include "FailureException.h"
Packit 8c9aa0
#include "MockTestCase.h"
Packit 8c9aa0
#include <cppunit/TestPath.h>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
MockTestCase::MockTestCase( std::string name )
Packit 8c9aa0
    : CPPUNIT_NS::TestCase( name )
Packit 8c9aa0
    , m_hasSetUpExpectation( false )
Packit 8c9aa0
    , m_expectedSetUpCall( 0 )
Packit 8c9aa0
    , m_actualSetUpCall( 0 )
Packit 8c9aa0
    , m_hasTearDownExpectation( false )
Packit 8c9aa0
    , m_expectedTearDownCall( 0 )
Packit 8c9aa0
    , m_actualTearDownCall( 0 )
Packit 8c9aa0
    , m_expectRunTestCall( false )
Packit 8c9aa0
    , m_expectedRunTestCallCount( 0 )
Packit 8c9aa0
    , m_actualRunTestCallCount( 0 )
Packit 8c9aa0
    , m_expectCountTestCasesCall( false )
Packit 8c9aa0
    , m_expectedCountTestCasesCallCount( 0 )
Packit 8c9aa0
    , m_actualCountTestCasesCallCount( 0 )
Packit 8c9aa0
    , m_setUpThrow( false )
Packit 8c9aa0
    , m_tearDownThrow( false )
Packit 8c9aa0
    , m_runTestThrow( false )
Packit 8c9aa0
    , m_passingTest( NULL )
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
MockTestCase::~MockTestCase()
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
int 
Packit 8c9aa0
MockTestCase::countTestCases() const
Packit 8c9aa0
{
Packit 8c9aa0
  MockTestCase *mutableThis = CPPUNIT_CONST_CAST(MockTestCase *, this );
Packit 8c9aa0
  ++mutableThis->m_actualCountTestCasesCallCount;
Packit 8c9aa0
  if ( m_expectCountTestCasesCall )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::countTestCases() call",
Packit 8c9aa0
                            m_actualCountTestCasesCallCount <= m_expectedCountTestCasesCallCount );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  return SuperClass::countTestCases();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::setUp()
Packit 8c9aa0
{
Packit 8c9aa0
  if ( m_hasSetUpExpectation )
Packit 8c9aa0
  {
Packit 8c9aa0
    ++m_actualSetUpCall;
Packit 8c9aa0
    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::setUp() call",
Packit 8c9aa0
                            m_actualSetUpCall <= m_expectedSetUpCall );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  if ( m_setUpThrow )
Packit 8c9aa0
    throw FailureException();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::tearDown()
Packit 8c9aa0
{
Packit 8c9aa0
  if ( m_hasTearDownExpectation )
Packit 8c9aa0
  {
Packit 8c9aa0
    ++m_actualTearDownCall;
Packit 8c9aa0
    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::tearDown() call",
Packit 8c9aa0
                            m_actualTearDownCall <= m_expectedTearDownCall );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  if ( m_tearDownThrow )
Packit 8c9aa0
    throw FailureException();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::runTest()
Packit 8c9aa0
{
Packit 8c9aa0
  ++m_actualRunTestCallCount;
Packit 8c9aa0
  if ( m_expectRunTestCall )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::runTest() call",
Packit 8c9aa0
                            m_actualRunTestCallCount <= m_expectedRunTestCallCount );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  if ( m_runTestThrow )
Packit 8c9aa0
    throw FailureException();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
/*
Packit 8c9aa0
bool 
Packit 8c9aa0
MockTestCase::findTestPath( const CPPUNIT_NS::Test *test,
Packit 8c9aa0
                            CPPUNIT_NS::TestPath &testPath )
Packit 8c9aa0
{
Packit 8c9aa0
  if ( m_passingTest == test )
Packit 8c9aa0
  {
Packit 8c9aa0
    testPath.add( this );
Packit 8c9aa0
    return true;
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  return false;
Packit 8c9aa0
}
Packit 8c9aa0
*/
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::setExpectedSetUpCall( int callCount )
Packit 8c9aa0
{
Packit 8c9aa0
  m_hasSetUpExpectation = true;
Packit 8c9aa0
  m_expectedSetUpCall = callCount;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::setExpectedTearDownCall( int )
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::setExpectedRunTestCall( int callCount )
Packit 8c9aa0
{
Packit 8c9aa0
  m_expectRunTestCall = true;
Packit 8c9aa0
  m_expectedRunTestCallCount = callCount ;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::setExpectedCountTestCasesCall( int callCount )
Packit 8c9aa0
{
Packit 8c9aa0
  m_expectCountTestCasesCall = true;
Packit 8c9aa0
  m_expectedCountTestCasesCallCount = callCount;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::makeSetUpThrow()
Packit 8c9aa0
{
Packit 8c9aa0
  m_setUpThrow = true;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::makeTearDownThrow()
Packit 8c9aa0
{
Packit 8c9aa0
  m_tearDownThrow = true;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::makeRunTestThrow()
Packit 8c9aa0
{
Packit 8c9aa0
  m_runTestThrow = true;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
MockTestCase::verify()
Packit 8c9aa0
{
Packit 8c9aa0
  if ( m_hasSetUpExpectation )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::setUp() "
Packit 8c9aa0
                                  "call count",
Packit 8c9aa0
                                  m_expectedSetUpCall,
Packit 8c9aa0
                                  m_actualSetUpCall );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  if ( m_hasTearDownExpectation )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::tearDown() "
Packit 8c9aa0
                                  "call count",
Packit 8c9aa0
                                  m_expectedTearDownCall,
Packit 8c9aa0
                                  m_actualTearDownCall );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  if ( m_expectCountTestCasesCall )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::countTestCases() "
Packit 8c9aa0
                                  "call count",
Packit 8c9aa0
                                  m_expectedCountTestCasesCallCount,
Packit 8c9aa0
                                  m_actualCountTestCasesCallCount );
Packit 8c9aa0
  }
Packit 8c9aa0
  if ( m_expectRunTestCall )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::runTest() "
Packit 8c9aa0
                                  "call count",
Packit 8c9aa0
                                  m_expectedRunTestCallCount,
Packit 8c9aa0
                                  m_actualRunTestCallCount );
Packit 8c9aa0
  }
Packit 8c9aa0
}