Blame examples/cppunittest/TestResultCollectorTest.cpp

Packit 8c9aa0
#include "CoreSuite.h"
Packit 8c9aa0
#include "TestResultCollectorTest.h"
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultCollectorTest,
Packit 8c9aa0
                                       coreSuiteName() );
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestResultCollectorTest::TestResultCollectorTest()
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
TestResultCollectorTest::~TestResultCollectorTest()
Packit 8c9aa0
{
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::setUp()
Packit 8c9aa0
{
Packit 8c9aa0
  m_lockCount = 0;
Packit 8c9aa0
  m_unlockCount = 0;
Packit 8c9aa0
  m_result = new CPPUNIT_NS::TestResultCollector();
Packit 8c9aa0
  m_synchronizedResult = new SynchronizedTestResult( this );  
Packit 8c9aa0
  m_test = new CPPUNIT_NS::TestCase();
Packit 8c9aa0
  m_test2 = new CPPUNIT_NS::TestCase();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::tearDown()
Packit 8c9aa0
{
Packit 8c9aa0
  delete m_test2;
Packit 8c9aa0
  delete m_test;
Packit 8c9aa0
  delete m_synchronizedResult;
Packit 8c9aa0
  delete m_result;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testConstructor()
Packit 8c9aa0
{
Packit 8c9aa0
  checkResult( 0, 0, 0 );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testAddTwoErrors()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::Message errorMessage1( "First Error" );
Packit 8c9aa0
  CPPUNIT_NS::Message errorMessage2( "Second Error" );
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_NS::TestFailure failure1( m_test, 
Packit 8c9aa0
                                   new CPPUNIT_NS::Exception( errorMessage1 ),
Packit 8c9aa0
                                   true );
Packit 8c9aa0
    m_result->addFailure( failure1 );
Packit 8c9aa0
Packit 8c9aa0
    CPPUNIT_NS::TestFailure failure2( m_test2, 
Packit 8c9aa0
                                   new CPPUNIT_NS::Exception( errorMessage2 ),
Packit 8c9aa0
                                   true );
Packit 8c9aa0
    m_result->addFailure( failure2 );
Packit 8c9aa0
  } // ensure that the test result duplicate the failures.
Packit 8c9aa0
Packit 8c9aa0
  checkResult( 0, 2, 0 );
Packit 8c9aa0
  checkFailure( m_result->failures()[0],
Packit 8c9aa0
                errorMessage1,
Packit 8c9aa0
                m_test,
Packit 8c9aa0
                true );
Packit 8c9aa0
  checkFailure( m_result->failures()[1],
Packit 8c9aa0
                errorMessage2,
Packit 8c9aa0
                m_test2,
Packit 8c9aa0
                true );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testAddTwoFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::Message errorMessage1( "First Failure" );
Packit 8c9aa0
  CPPUNIT_NS::Message errorMessage2( "Second Failure" );
Packit 8c9aa0
  {
Packit 8c9aa0
    CPPUNIT_NS::TestFailure failure1( m_test, 
Packit 8c9aa0
                                   new CPPUNIT_NS::Exception( errorMessage1 ),
Packit 8c9aa0
                                   false );
Packit 8c9aa0
    m_result->addFailure( failure1 );
Packit 8c9aa0
Packit 8c9aa0
    CPPUNIT_NS::TestFailure failure2( m_test2, 
Packit 8c9aa0
                                   new CPPUNIT_NS::Exception( errorMessage2 ),
Packit 8c9aa0
                                   false );
Packit 8c9aa0
    m_result->addFailure( failure2 );
Packit 8c9aa0
  } // ensure that the test result duplicate the failures.
Packit 8c9aa0
  checkResult( 2, 0, 0 );
Packit 8c9aa0
  checkFailure( m_result->failures()[0],
Packit 8c9aa0
                errorMessage1,
Packit 8c9aa0
                m_test,
Packit 8c9aa0
                false );
Packit 8c9aa0
  checkFailure( m_result->failures()[1],
Packit 8c9aa0
                errorMessage2,
Packit 8c9aa0
                m_test2,
Packit 8c9aa0
                false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testStartTest()
Packit 8c9aa0
{
Packit 8c9aa0
  m_result->startTest( m_test );
Packit 8c9aa0
  m_result->startTest( m_test );
Packit 8c9aa0
  checkResult( 0, 0, 2 );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testWasSuccessfulWithNoTest()
Packit 8c9aa0
{
Packit 8c9aa0
  checkWasSuccessful( true );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testWasSuccessfulWithErrors()
Packit 8c9aa0
{
Packit 8c9aa0
  addError( "Error1" );
Packit 8c9aa0
  addError( "Error2" );
Packit 8c9aa0
  checkWasSuccessful( false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testWasSuccessfulWithFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  addFailure( "Failure1" );
Packit 8c9aa0
  addFailure( "Failure2" );
Packit 8c9aa0
  checkWasSuccessful( false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testWasSuccessfulWithErrorsAndFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  addError( "Error1" );
Packit 8c9aa0
  addFailure( "Failure2" );
Packit 8c9aa0
  checkWasSuccessful( false );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testWasSuccessfulWithSuccessfulTest()
Packit 8c9aa0
{
Packit 8c9aa0
  m_result->startTest( m_test );
Packit 8c9aa0
  m_result->endTest( m_test );
Packit 8c9aa0
  m_result->startTest( m_test2 );
Packit 8c9aa0
  m_result->endTest( m_test2 );
Packit 8c9aa0
  checkWasSuccessful( true );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationAddFailure()
Packit 8c9aa0
{
Packit 8c9aa0
  addFailure( "Failure1", m_test, false, m_synchronizedResult );
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationStartTest()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->startTest( m_test );
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationRunTests()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->runTests();
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationTestErrors()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->testErrors();
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationTestFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->testFailures();
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationFailures()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->failures();
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::testSynchronizationWasSuccessful()
Packit 8c9aa0
{
Packit 8c9aa0
  m_synchronizedResult->wasSuccessful();
Packit 8c9aa0
  checkSynchronization();
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::checkResult( int failures,
Packit 8c9aa0
                             int errors,
Packit 8c9aa0
                             int testsRun )
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( testsRun, m_result->runTests() );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( errors, m_result->testErrors() );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( failures, m_result->testFailures() );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( errors + failures, 
Packit 8c9aa0
                        m_result->testFailuresTotal() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void
Packit 8c9aa0
TestResultCollectorTest::checkFailure( CPPUNIT_NS::TestFailure *failure,
Packit 8c9aa0
                                       CPPUNIT_NS::Message expectedMessage,
Packit 8c9aa0
                                       CPPUNIT_NS::Test *expectedTest,
Packit 8c9aa0
                                       bool expectedIsError )
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::Message actualMessage( failure->thrownException()->message() );
Packit 8c9aa0
  CPPUNIT_ASSERT( expectedMessage == actualMessage );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( expectedTest, failure->failedTest() );
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( expectedIsError, failure->isError() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::checkWasSuccessful( bool shouldBeSuccessful )
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( shouldBeSuccessful, m_result->wasSuccessful() );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::locked()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
Packit 8c9aa0
  ++m_lockCount;
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::unlocked()
Packit 8c9aa0
{
Packit 8c9aa0
  ++m_unlockCount;
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::checkSynchronization()
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
Packit 8c9aa0
  CPPUNIT_ASSERT( m_lockCount > 0 );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::addFailure( std::string message )
Packit 8c9aa0
{
Packit 8c9aa0
  addFailure( message, m_test, false, m_result );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::addError( std::string message )
Packit 8c9aa0
{
Packit 8c9aa0
  addFailure( message, m_test, true, m_result );
Packit 8c9aa0
}
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
void 
Packit 8c9aa0
TestResultCollectorTest::addFailure( std::string message, 
Packit 8c9aa0
                                     CPPUNIT_NS::Test *failedTest, 
Packit 8c9aa0
                                     bool isError,
Packit 8c9aa0
                                     CPPUNIT_NS::TestResultCollector *result )
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_NS::TestFailure failure( failedTest, 
Packit 8c9aa0
                                new CPPUNIT_NS::Exception( CPPUNIT_NS::Message( message ) ), 
Packit 8c9aa0
                                isError );
Packit 8c9aa0
  result->addFailure( failure );
Packit 8c9aa0
}