diff options
author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-06-01 18:34:42 +0000 |
---|---|---|
committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-06-01 18:34:42 +0000 |
commit | 8c24e60a1c43fc24ee65618155795037770b5196 (patch) | |
tree | 753bbfb0a0ddf015a9694e6ae3890bc0ca84f5de /examples/cppunittest/TestResultTest.cpp | |
parent | bc6338edfd9b10327c83142fef1e427c5cb3e80f (diff) | |
download | cppunit-8c24e60a1c43fc24ee65618155795037770b5196.tar.gz |
Added project cppunittest to examples/: unit tests to test cppunit.
added project cppunittest to examples/: unit tests to test cppunit. The
main file is CppUnitTestMain.cpp. Unit tests have been implemented
for TestCaller and TestListener.
* added project CppUnitTestApp to examples/msvc6: graphical runner for
cppunittest.
* added TestListener to TestResult. It is a port of junit TestListener.
* updated some .cvsignore to ignore files generated with VC++.
Diffstat (limited to 'examples/cppunittest/TestResultTest.cpp')
-rw-r--r-- | examples/cppunittest/TestResultTest.cpp | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/examples/cppunittest/TestResultTest.cpp b/examples/cppunittest/TestResultTest.cpp new file mode 100644 index 0000000..afb1fdd --- /dev/null +++ b/examples/cppunittest/TestResultTest.cpp @@ -0,0 +1,183 @@ +#include "TestResultTest.h" +#include <cppunit/extensions/TestSuiteBuilder.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestResult.h> +#include "MockTestListener.h" + +CU_TEST_SUITE_REGISTRATION( TestResultTest ); + + +TestResultTest::TestResultTest() : + CppUnit::TestCase() +{ +} + + +TestResultTest::~TestResultTest() +{ +} + + +CppUnit::TestSuite * +TestResultTest::suite() +{ + CppUnit::TestSuiteBuilder<TestResultTest> suite; + + suite.addTestCaller( "testNoListener", &testNoListener ); + suite.addTestCaller( "testAddErrorListener", &testAddErrorListener ); + suite.addTestCaller( "testAddFailureListener", &testAddFailureListener ); + suite.addTestCaller( "testStartTestListener", &testStartTestListener ); + suite.addTestCaller( "testEndTestListener", &testEndTestListener ); + suite.addTestCaller( "testRemoveFrontListener", &testRemoveFrontListener ); + suite.addTestCaller( "testRemoveLastListener", &testRemoveLastListener ); + + return suite.takeSuite(); +} + + +void +TestResultTest::setUp() +{ + m_listenerTest = NULL; + m_listenerError = NULL; + m_dummyTest = new CppUnit::TestCase( "DummyTest" ); + m_dummyError = NULL; + m_listenerCallbackType = undefined; + m_result = new CppUnit::TestResult(); + m_result->addListener( this ); +} + + +void +TestResultTest::tearDown() +{ + m_result->removeListener( this ); + delete m_result; + delete m_dummyTest; +} + + +void +TestResultTest::addError( CppUnit::Test *test, CppUnit::Exception *e ) +{ + m_listenerTest = test; + m_listenerError = e; + m_listenerCallbackType = onAddError; +} + + +void +TestResultTest::addFailure( CppUnit::Test *test, CppUnit::Exception *e ) +{ + m_listenerTest = test; + m_listenerError = e; + m_listenerCallbackType = onAddFailure; +} + +void +TestResultTest::startTest( CppUnit::Test *test ) +{ + m_listenerTest = test; + m_listenerCallbackType = onStartTest; +} + + +void +TestResultTest::endTest( CppUnit::Test *test ) +{ + m_listenerTest = test; + m_listenerCallbackType = onEndTest; +} + + +void +TestResultTest::testAddErrorListener() +{ + m_result->addError( m_dummyTest, makeDummyError() ); + assert( m_listenerCallbackType == onAddError ); + assert( m_listenerTest == m_dummyTest ); + assert( m_listenerError == m_dummyError ); +} + + +void +TestResultTest::testAddFailureListener() +{ + m_result->addFailure( m_dummyTest, makeDummyError() ); + assert( m_listenerCallbackType == onAddFailure ); + assert( m_listenerTest == m_dummyTest ); + assert( m_listenerError == m_dummyError ); +} + + +void +TestResultTest::testStartTestListener() +{ + m_result->startTest( m_dummyTest ); + assert( m_listenerCallbackType == onStartTest ); + assert( m_listenerTest == m_dummyTest ); +} + + +void +TestResultTest::testEndTestListener() +{ + m_result->endTest( m_dummyTest ); + assert( m_listenerCallbackType == onEndTest ); + assert( m_listenerTest == m_dummyTest ); +} + + +CppUnit::Exception * +TestResultTest::makeDummyError() +{ + m_dummyError = new CppUnit::Exception( "dummy exception" ); + return m_dummyError; +} + + +void +TestResultTest::testNoListener() +{ + CppUnit::TestResult result; + result.addError( m_dummyTest, makeDummyError() ); + result.addFailure( m_dummyTest, makeDummyError() ); + result.startTest( m_dummyTest ); + result.endTest( m_dummyTest ); +} + + +void +TestResultTest::testTwoListener() +{ + MockTestListener listener; + m_result->addListener( &listener ); + m_result->startTest( m_dummyTest ); + assert( m_listenerCallbackType == onStartTest ); + assert( listener.wasCalled() ); +} + + +void +TestResultTest::testRemoveFrontListener() +{ + MockTestListener listener; + m_result->addListener( &listener ); + m_result->removeListener( &listener ); + m_result->startTest( m_dummyTest ); + assert( m_listenerCallbackType == onStartTest ); + assert( !listener.wasCalled() ); +} + + +void +TestResultTest::testRemoveLastListener() +{ + MockTestListener listener; + m_result->addListener( &listener ); + + m_result->removeListener( this ); + m_result->startTest( m_dummyTest ); + assert( m_listenerCallbackType == undefined ); + assert( listener.wasCalled() ); +} |