|
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 |
}
|