summaryrefslogtreecommitdiff
path: root/examples/cppunittest/TestResultTest.cpp
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2001-06-01 18:34:42 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2001-06-01 18:34:42 +0000
commit8c24e60a1c43fc24ee65618155795037770b5196 (patch)
tree753bbfb0a0ddf015a9694e6ae3890bc0ca84f5de /examples/cppunittest/TestResultTest.cpp
parentbc6338edfd9b10327c83142fef1e427c5cb3e80f (diff)
downloadcppunit-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.cpp183
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() );
+}