Blame examples/cppunittest/TestCaseTest.cpp

Packit 8c9aa0
#include "CoreSuite.h"
Packit 8c9aa0
#include "FailureException.h"
Packit 8c9aa0
#include "MockTestCase.h"
Packit 8c9aa0
#include "TestCaseTest.h"
Packit 8c9aa0
#include <cppunit/TestResult.h>
Packit 8c9aa0
Packit 8c9aa0
/*
Packit 8c9aa0
 - test have been done to check exception management in run(). other 
Packit 8c9aa0
   tests need to be added to check the other aspect of TestCase.
Packit 8c9aa0
 */
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestCaseTest,
Packit 8c9aa0
                                       coreSuiteName() );
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestCaseTest::TestCaseTest()
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestCaseTest::~TestCaseTest()
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::setUp()
Packit 8c9aa0
{
Packit 8c9aa0
  m_testListener = new MockTestListener( "mock-testlistener" );
Packit 8c9aa0
  m_result = new CPPUNIT_NS::TestResult();
Packit 8c9aa0
  m_result->addListener( m_testListener );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::tearDown()
Packit 8c9aa0
{
Packit 8c9aa0
  delete m_result;
Packit 8c9aa0
  delete m_testListener;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testSetUpFailure()
Packit 8c9aa0
{
Packit 8c9aa0
  checkFailure( true, false, false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testRunTestFailure()
Packit 8c9aa0
{
Packit 8c9aa0
  checkFailure( false, true, false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testTearDownFailure()
Packit 8c9aa0
{
Packit 8c9aa0
  checkFailure( false, false, true );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testFailAll()
Packit 8c9aa0
{
Packit 8c9aa0
  checkFailure( true, true, true );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testNoFailure()
Packit 8c9aa0
{
Packit 8c9aa0
  checkFailure( false, false, false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::checkFailure( bool failSetUp, 
Packit 8c9aa0
                            bool failRunTest,
Packit 8c9aa0
                            bool failTearDown )
Packit 8c9aa0
{
Packit 8c9aa0
  try
Packit 8c9aa0
  {
Packit 8c9aa0
    MockTestCase testCase( "mock-test" );
Packit 8c9aa0
    if ( failSetUp )
Packit 8c9aa0
      testCase.makeSetUpThrow();
Packit 8c9aa0
    if ( failRunTest )
Packit 8c9aa0
      testCase.makeRunTestThrow();
Packit 8c9aa0
    if ( failTearDown )
Packit 8c9aa0
      testCase.makeTearDownThrow();
Packit 8c9aa0
    testCase.setExpectedSetUpCall( 1 );
Packit 8c9aa0
    testCase.setExpectedRunTestCall( failSetUp ? 0 : 1 );
Packit 8c9aa0
    testCase.setExpectedTearDownCall( failSetUp ? 0 : 1 );
Packit 8c9aa0
    
Packit 8c9aa0
    testCase.run( m_result );
Packit 8c9aa0
Packit 8c9aa0
    testCase.verify();
Packit 8c9aa0
  }
Packit 8c9aa0
  catch ( FailureException & )
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_ASSERT_MESSAGE( "exception should have been caught", false );
Packit 8c9aa0
  }
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testCountTestCases()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::TestCase test;
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( 1, test.countTestCases() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testDefaultConstructor()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::TestCase test;
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( std::string(""), test.getName() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testConstructorWithName()
Packit 8c9aa0
{
Packit 8c9aa0
  std::string testName( "TestName" );
Packit 8c9aa0
  CPPUNIT_NS::TestCase test( testName );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( testName, test.getName() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testTwoRun()
Packit 8c9aa0
{
Packit 8c9aa0
  MockTestCase test1( "mocktest1" );
Packit 8c9aa0
  test1.makeRunTestThrow();
Packit 8c9aa0
  m_testListener->setExpectedStartTestCall( 2 );
Packit 8c9aa0
  m_testListener->setExpectedAddFailureCall( 2 );
Packit 8c9aa0
  m_testListener->setExpectedEndTestCall( 2 );
Packit 8c9aa0
Packit 8c9aa0
  test1.run( m_result );
Packit 8c9aa0
  test1.run( m_result );
Packit 8c9aa0
Packit 8c9aa0
  m_testListener->verify();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testGetChildTestCount()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::TestCase test( "test" );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( 0, test.getChildTestCount() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestCaseTest::testGetChildTestAtThrow()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::TestCase test( "test" );
Packit 8c9aa0
  test.getChildTestAt( 0 );
Packit 8c9aa0
}