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