Blame examples/cppunittest/HelperMacrosTest.cpp

Packit Service e31359
#include <cppunit/config/SourcePrefix.h>
Packit Service e31359
#include "FailureException.h"
Packit Service e31359
#include "HelperMacrosTest.h"
Packit Service e31359
#include "HelperSuite.h"
Packit Service e31359
#include "MockTestCase.h"
Packit Service e31359
#include "SubclassedTestCase.h"
Packit Service e31359
#include <cppunit/TestResult.h>
Packit Service e31359
#include <memory>
Packit Service e31359
Packit Service e31359
/* Note:
Packit Service e31359
 - no unit test for CPPUNIT_TEST_SUITE_REGISTRATION...
Packit Service e31359
 */
Packit Service e31359
Packit Service e31359
class FailTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( FailTestFixture );
Packit Service e31359
  CPPUNIT_TEST_FAIL( testFail );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
  void testFail()
Packit Service e31359
  {
Packit Service e31359
    CPPUNIT_ASSERT_MESSAGE( "Failure", false );
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
class FailToFailTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( FailToFailTestFixture );
Packit Service e31359
  CPPUNIT_TEST_FAIL( testFailToFail );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
  void testFailToFail()
Packit Service e31359
  {
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
class ExceptionTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( ExceptionTestFixture );
Packit Service e31359
  CPPUNIT_TEST_EXCEPTION( testException, FailureException );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
  void testException()
Packit Service e31359
  {
Packit Service e31359
    throw FailureException();
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
class ExceptionNotCaughtTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( ExceptionNotCaughtTestFixture );
Packit Service e31359
  CPPUNIT_TEST_EXCEPTION( testExceptionNotCaught, FailureException );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
  void testExceptionNotCaught()
Packit Service e31359
  {
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
class CustomsTestTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( CustomsTestTestFixture );
Packit Service e31359
  CPPUNIT_TEST_SUITE_ADD_CUSTOM_TESTS( addCustomTests );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
  static void addCustomTests( TestSuiteBuilderContextType &context )
Packit Service e31359
  {
Packit Service e31359
    MockTestCase *test1 = new MockTestCase( context.getTestNameFor( "myCustomTest1" ) );
Packit Service e31359
    test1->makeRunTestThrow();
Packit Service e31359
    MockTestCase *test2 = new MockTestCase( context.getTestNameFor( "myCustomTest2" ) );
Packit Service e31359
    context.addTest( test1 );
Packit Service e31359
    context.addTest( test2 );
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
class ParameterizedTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
    CPPUNIT_TEST_SUITE(ParameterizedTestFixture);
Packit Service e31359
    CPPUNIT_TEST_PARAMETERIZED(testMethod, {1, 2, 3, 4});
Packit Service e31359
    CPPUNIT_TEST_SUITE_END();
Packit Service e31359
Packit Service e31359
public:
Packit Service e31359
Packit Service e31359
    void testMethod(int /*val*/)
Packit Service e31359
    {
Packit Service e31359
    }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
#undef TEST_ADD_N_MOCK
Packit Service e31359
#define TEST_ADD_N_MOCK( totalCount )                                              \
Packit Service e31359
  {                                                                 \
Packit Service e31359
    for ( int count = (totalCount); count > 0; --count )            \
Packit Service e31359
      CPPUNIT_TEST_SUITE_ADD_TEST(                                  \
Packit Service e31359
         new MockTestCase( context.getTestNameFor( "dummyName" ) ) ); \
Packit Service e31359
  }
Packit Service e31359
Packit Service e31359
Packit Service e31359
Packit Service e31359
class AddTestTestFixture : public CPPUNIT_NS::TestFixture
Packit Service e31359
{
Packit Service e31359
  CPPUNIT_TEST_SUITE( AddTestTestFixture );
Packit Service e31359
  TEST_ADD_N_MOCK( 7 );
Packit Service e31359
  CPPUNIT_TEST_SUITE_END();
Packit Service e31359
public:
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( HelperMacrosTest, 
Packit Service e31359
                                       helperSuiteName() );
Packit Service e31359
Packit Service e31359
Packit Service e31359
HelperMacrosTest::HelperMacrosTest()
Packit Service e31359
{
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
HelperMacrosTest::~HelperMacrosTest()
Packit Service e31359
{
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::setUp()
Packit Service e31359
{
Packit Service e31359
  m_testListener = new MockTestListener( "mock-testlistener" );
Packit Service e31359
  m_result = new CPPUNIT_NS::TestResult();
Packit Service e31359
  m_result->addListener( m_testListener );
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::tearDown()
Packit Service e31359
{
Packit Service e31359
  delete m_result;
Packit Service e31359
  delete m_testListener;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testNoSubclassing()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( BaseTestCase::suite() );
Packit Service e31359
  CPPUNIT_ASSERT_EQUAL( 1, suite->countTestCases() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 1 );
Packit Service e31359
  m_testListener->setExpectNoFailure();
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testSubclassing()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( SubclassedTestCase::suite() );
Packit Service e31359
  CPPUNIT_ASSERT_EQUAL( 2, suite->countTestCases() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 2 );
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 1 );
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testFail()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( FailTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 1 );
Packit Service e31359
  m_testListener->setExpectNoFailure();
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testFailToFail()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( FailToFailTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 1 );
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 1 );
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testException()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( ExceptionTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 1 );
Packit Service e31359
  m_testListener->setExpectNoFailure();
Packit Service e31359
  
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testExceptionNotCaught()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( ExceptionNotCaughtTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 1 );
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 1 );
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testCustomTests()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( CustomsTestTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 2 );
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 1 );
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
HelperMacrosTest::testAddTest()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( AddTestTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall( 7 );
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 0 );
Packit Service e31359
Packit Service e31359
  suite->run( m_result );
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
void
Packit Service e31359
HelperMacrosTest::testParameterizedTests()
Packit Service e31359
{
Packit Service e31359
  std::unique_ptr<CPPUNIT_NS::TestSuite> suite( ParameterizedTestFixture::suite() );
Packit Service e31359
  m_testListener->setExpectedStartTestCall(4);
Packit Service e31359
  m_testListener->setExpectedAddFailureCall( 0 );
Packit Service e31359
  suite->run(m_result);
Packit Service e31359
  m_testListener->verify();
Packit Service e31359
}