diff options
Diffstat (limited to 'src/cppunit/TestResult.cpp')
| -rw-r--r-- | src/cppunit/TestResult.cpp | 118 |
1 files changed, 15 insertions, 103 deletions
diff --git a/src/cppunit/TestResult.cpp b/src/cppunit/TestResult.cpp index 784ab32..d5644a4 100644 --- a/src/cppunit/TestResult.cpp +++ b/src/cppunit/TestResult.cpp @@ -1,27 +1,21 @@ -#include "cppunit/TestResult.h" -#include "cppunit/TestListener.h" +#include <cppunit/TestFailure.h> +#include <cppunit/TestListener.h> +#include <cppunit/TestResult.h> #include <algorithm> namespace CppUnit { /// Construct a TestResult -TestResult::TestResult( SynchronizationObject *syncObject ) : - m_syncObject( syncObject == 0 ? new SynchronizationObject() : - syncObject ) +TestResult::TestResult( SynchronizationObject *syncObject ) + : SynchronizedObject( syncObject ) { - m_testErrors = 0; - m_stop = false; + reset(); } /// Destroys a test result TestResult::~TestResult() { - TestFailures::iterator itFailure = m_failures.begin(); - while ( itFailure != m_failures.end() ) - delete *itFailure++; - - delete m_syncObject; } @@ -33,9 +27,7 @@ void TestResult::reset() { ExclusiveZone zone( m_syncObject ); - m_testErrors = 0; - m_tests.clear(); - m_failures.clear(); + m_stop = false; } @@ -47,9 +39,7 @@ void TestResult::addError( Test *test, Exception *e ) { - ExclusiveZone zone( m_syncObject ); - ++m_testErrors; - addFailure( new TestFailure( test, e, true ) ); + addFailure( TestFailure( test, e, true ) ); } @@ -59,18 +49,16 @@ TestResult::addError( Test *test, void TestResult::addFailure( Test *test, Exception *e ) { - ExclusiveZone zone( m_syncObject ); - addFailure( new TestFailure( test, e, false ) ); + addFailure( TestFailure( test, e, false ) ); } /** Called to add a failure to the list of failures. */ void -TestResult::addFailure( TestFailure *failure ) +TestResult::addFailure( const TestFailure &failure ) { - m_failures.push_back( failure ); - + ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) @@ -82,9 +70,7 @@ TestResult::addFailure( TestFailure *failure ) void TestResult::startTest( Test *test ) { - ExclusiveZone zone (m_syncObject); - m_tests.push_back( test ); - + ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) @@ -96,8 +82,7 @@ TestResult::startTest( Test *test ) void TestResult::endTest( Test *test ) { - ExclusiveZone zone (m_syncObject); - + ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) @@ -105,68 +90,6 @@ TestResult::endTest( Test *test ) } -/// Gets the number of run tests. -int -TestResult::runTests() const -{ - ExclusiveZone zone( m_syncObject ); - return m_tests.size(); -} - - -/// Gets the number of detected errors (uncaught exception). -int -TestResult::testErrors() const -{ - ExclusiveZone zone( m_syncObject ); - return m_testErrors; -} - - -/// Gets the number of detected failures (failed assertion). -int -TestResult::testFailures() const -{ - ExclusiveZone zone( m_syncObject ); - return m_failures.size() - m_testErrors; -} - - -/// Gets the total number of detected failures. -int -TestResult::testFailuresTotal() const -{ - ExclusiveZone zone( m_syncObject ); - return m_failures.size(); -} - - -/// Returns whether the entire test was successful or not. -bool -TestResult::wasSuccessful() const -{ - ExclusiveZone zone( m_syncObject ); - return m_failures.size() == 0; -} - - -/// Returns a the list failures (random access collection). -const TestResult::TestFailures & -TestResult::failures() const -{ - ExclusiveZone zone( m_syncObject ); - return m_failures; -} - - -const TestResult::Tests & -TestResult::tests() const -{ - ExclusiveZone zone( m_syncObject ); - return m_tests; -} - - /// Returns whether testing should be stopped bool TestResult::shouldStop() const @@ -185,21 +108,10 @@ TestResult::stop() } -/** Accept a new synchronization object for protection of this instance - * TestResult assumes ownership of the object - */ -void -TestResult::setSynchronizationObject( SynchronizationObject *syncObject ) -{ - delete m_syncObject; - m_syncObject = syncObject; -} - - void TestResult::addListener( TestListener *listener ) { - ExclusiveZone zone (m_syncObject); + ExclusiveZone zone( m_syncObject ); m_listeners.push_back( listener ); } @@ -207,7 +119,7 @@ TestResult::addListener( TestListener *listener ) void TestResult::removeListener ( TestListener *listener ) { - ExclusiveZone zone (m_syncObject); + ExclusiveZone zone( m_syncObject ); m_listeners.erase( std::remove( m_listeners.begin(), m_listeners.end(), listener ), |
