|
Packit |
8c9aa0 |
#include "CoreSuite.h"
|
|
Packit |
8c9aa0 |
#include "MockFunctor.h"
|
|
Packit |
8c9aa0 |
#include "MockProtector.h"
|
|
Packit |
8c9aa0 |
#include "MockTestCase.h"
|
|
Packit |
8c9aa0 |
#include "TestResultTest.h"
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultTest,
|
|
Packit |
8c9aa0 |
coreSuiteName() );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
TestResultTest::TestResultTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
TestResultTest::~TestResultTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::setUp()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_result = new CPPUNIT_NS::TestResult();
|
|
Packit |
8c9aa0 |
m_listener1 = new MockTestListener( "listener1" );
|
|
Packit |
8c9aa0 |
m_listener2 = new MockTestListener( "listener2" );
|
|
Packit |
8c9aa0 |
m_dummyTest = new MockTestCase( "dummy-test" );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::tearDown()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
delete m_dummyTest;
|
|
Packit |
8c9aa0 |
delete m_listener1;
|
|
Packit |
8c9aa0 |
delete m_listener2;
|
|
Packit |
8c9aa0 |
delete m_result;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testConstructor()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->shouldStop() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testStop()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_result->stop();
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( m_result->shouldStop() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testAddError()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Exception *dummyException = new CPPUNIT_NS::Exception(
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Message( "some_error" ) );
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure( m_dummyTest, dummyException, true );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->addError( m_dummyTest, dummyException );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testAddFailure()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Exception *dummyException = new CPPUNIT_NS::Exception(
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Message("some_error" ) );
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure( m_dummyTest, dummyException, false );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->addFailure( m_dummyTest, dummyException );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testStartTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectStartTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->startTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testEndTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectEndTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->endTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testStartSuite()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectStartSuite( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->startSuite( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testEndSuite()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectEndSuite( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->endSuite( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testRunTest()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectStartTestRun( m_dummyTest, m_result );
|
|
Packit |
8c9aa0 |
m_listener1->setExpectEndTestRun( m_dummyTest, m_result );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->runTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testTwoListener()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_listener1->setExpectStartTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_listener2->setExpectStartTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Exception *dummyException1 = new CPPUNIT_NS::Exception(
|
|
Packit |
8c9aa0 |
CPPUNIT_NS::Message( "some_error" ) );
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure( m_dummyTest, dummyException1, true );
|
|
Packit |
8c9aa0 |
m_listener2->setExpectFailure( m_dummyTest, dummyException1, true );
|
|
Packit |
8c9aa0 |
m_listener1->setExpectEndTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_listener2->setExpectEndTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener2 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->startTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
m_result->addError( m_dummyTest, dummyException1 );
|
|
Packit |
8c9aa0 |
m_result->endTest( m_dummyTest );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
m_listener2->verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testDefaultProtectSucceed()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
functor.setShouldSucceed();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectNoFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testDefaultProtectFail()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
functor.setShouldFail();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectNoFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testDefaultProtectFailIfThrow()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
functor.setThrowFailureException();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testProtectChainPushOneTrap()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
MockProtector *protector = new MockProtector();
|
|
Packit |
8c9aa0 |
functor.setThrowMockProtectorException();
|
|
Packit |
8c9aa0 |
protector->setExpectException();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->pushProtector( protector );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
protector->verify();
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testProtectChainPushOnePassThrough()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
MockProtector *protector = new MockProtector();
|
|
Packit |
8c9aa0 |
functor.setThrowFailureException();
|
|
Packit |
8c9aa0 |
protector->setExpectNoException();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->pushProtector( protector );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
protector->verify();
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
TestResultTest::testProtectChainPushTwoTrap()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
MockFunctor functor;
|
|
Packit |
8c9aa0 |
functor.setThrowMockProtectorException();
|
|
Packit |
8c9aa0 |
// protector1 catch the exception retrown by protector2
|
|
Packit |
8c9aa0 |
MockProtector *protector1 = new MockProtector();
|
|
Packit |
8c9aa0 |
protector1->setExpectException();
|
|
Packit |
8c9aa0 |
// protector2 catch the exception and rethrow it
|
|
Packit |
8c9aa0 |
MockProtector *protector2 = new MockProtector();
|
|
Packit |
8c9aa0 |
protector2->setExpectCatchAndPropagateException();
|
|
Packit |
8c9aa0 |
m_listener1->setExpectFailure();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
m_result->pushProtector( protector1 );
|
|
Packit |
8c9aa0 |
m_result->pushProtector( protector2 );
|
|
Packit |
8c9aa0 |
m_result->addListener( m_listener1 );
|
|
Packit |
8c9aa0 |
CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
|
|
Packit |
8c9aa0 |
protector1->verify();
|
|
Packit |
8c9aa0 |
protector2->verify();
|
|
Packit |
8c9aa0 |
m_listener1->verify();
|
|
Packit |
8c9aa0 |
functor.verify();
|
|
Packit |
8c9aa0 |
}
|