summaryrefslogtreecommitdiff
path: root/src/cppunit/TestResult.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cppunit/TestResult.cpp')
-rw-r--r--src/cppunit/TestResult.cpp118
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 ),