summaryrefslogtreecommitdiff
path: root/examples/cppunittest/XmlOutputterTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cppunittest/XmlOutputterTest.cpp')
-rw-r--r--examples/cppunittest/XmlOutputterTest.cpp128
1 files changed, 76 insertions, 52 deletions
diff --git a/examples/cppunittest/XmlOutputterTest.cpp b/examples/cppunittest/XmlOutputterTest.cpp
index d8326bc..f3cdeeb 100644
--- a/examples/cppunittest/XmlOutputterTest.cpp
+++ b/examples/cppunittest/XmlOutputterTest.cpp
@@ -1,4 +1,5 @@
-#include <cppunit/TestResult.h>
+#include <cppunit/XmlOutputter.h>
+#include <cppunit/TestFailure.h>
#include <cppunit/XmlOutputter.h>
#include "OutputSuite.h"
#include "XmlOutputterTest.h"
@@ -23,12 +24,18 @@ XmlOutputterTest::~XmlOutputterTest()
void
XmlOutputterTest::setUp()
{
+ m_dummyTests.clear();
+ m_result = new CppUnit::TestResultCollector();
}
void
XmlOutputterTest::tearDown()
{
+ delete m_result;
+ for ( int index =0; index < m_dummyTests.size(); ++index )
+ delete m_dummyTests[index];
+ m_dummyTests.clear();
}
@@ -109,10 +116,8 @@ XmlOutputterTest::testNodeWithContentAndChildToString()
void
XmlOutputterTest::testWriteXmlResultWithNoTest()
{
- CppUnit::TestResult result;
-
CppUnit::OStringStream stream;
- CppUnit::XmlOutputter outputter( &result, stream );
+ CppUnit::XmlOutputter outputter( m_result, stream );
outputter.write();
std::string actualXml = stream.str();
@@ -134,16 +139,10 @@ XmlOutputterTest::testWriteXmlResultWithNoTest()
void
XmlOutputterTest::testWriteXmlResultWithOneFailure()
{
- CppUnit::TestResult result;
- CppUnit::TestCase test1( "test1" );
- result.startTest( &test1 );
- CppUnit::SourceLine sourceLine( "test.cpp", 3 );
- result.addFailure( &test1, new CppUnit::Exception( "message failure1",
- sourceLine ) );
- result.endTest( &test1 );
+ addTestFailure( "test1", "message failure1", CppUnit::SourceLine( "test.cpp", 3 ) );
CppUnit::OStringStream stream;
- CppUnit::XmlOutputter outputter( &result, stream );
+ CppUnit::XmlOutputter outputter( m_result, stream );
outputter.write();
std::string actualXml = stream.str();
@@ -175,14 +174,10 @@ XmlOutputterTest::testWriteXmlResultWithOneFailure()
void
XmlOutputterTest::testWriteXmlResultWithOneError()
{
- CppUnit::TestResult result;
- CppUnit::TestCase test1( "test1" );
- result.startTest( &test1 );
- result.addError( &test1, new CppUnit::Exception( "message error1" ) );
- result.endTest( &test1 );
+ addTestError( "test1", "message error1" );
CppUnit::OStringStream stream;
- CppUnit::XmlOutputter outputter( &result, stream );
+ CppUnit::XmlOutputter outputter( m_result, stream );
outputter.write();
std::string actualXml = stream.str();
@@ -210,13 +205,10 @@ XmlOutputterTest::testWriteXmlResultWithOneError()
void
XmlOutputterTest::testWriteXmlResultWithOneSucess()
{
- CppUnit::TestResult result;
- CppUnit::TestCase test1( "test1" );
- result.startTest( &test1 );
- result.endTest( &test1 );
+ addTest( "test1" );
CppUnit::OStringStream stream;
- CppUnit::XmlOutputter outputter( &result, stream );
+ CppUnit::XmlOutputter outputter( m_result, stream );
outputter.write();
std::string actualXml = stream.str();
@@ -242,36 +234,16 @@ XmlOutputterTest::testWriteXmlResultWithOneSucess()
void
XmlOutputterTest::testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSucess()
{
- CppUnit::TestCase test1( "test1" );
- CppUnit::TestCase test2( "test2" );
- CppUnit::TestCase test3( "test3" );
- CppUnit::TestCase test4( "test4" );
- CppUnit::TestCase test5( "test5" );
- CppUnit::TestCase test6( "test6" );
- CppUnit::TestCase test7( "test7" );
- CppUnit::TestResult result;
- result.startTest( &test1 );
- result.addFailure( &test1, new CppUnit::Exception( "failure1" ) );
- result.endTest( &test1 );
- result.startTest( &test2 );
- result.addError( &test2, new CppUnit::Exception( "error1" ) );
- result.endTest( &test2 );
- result.startTest( &test3 );
- result.addFailure( &test3, new CppUnit::Exception( "failure2" ) );
- result.endTest( &test3 );
- result.startTest( &test4 );
- result.addFailure( &test4, new CppUnit::Exception( "failure3" ) );
- result.endTest( &test4 );
- result.startTest( &test5 );
- result.endTest( &test5 );
- result.startTest( &test6 );
- result.addError( &test6, new CppUnit::Exception( "error2" ) );
- result.endTest( &test6 );
- result.startTest( &test7 );
- result.endTest( &test7 );
+ addTestFailure( "test1", "failure1" );
+ addTestError( "test2", "error1" );
+ addTestFailure( "test3", "failure2" );
+ addTestFailure( "test4", "failure3" );
+ addTest( "test5" );
+ addTestError( "test6", "error2" );
+ addTest( "test7" );
CppUnit::OStringStream stream;
- CppUnit::XmlOutputter outputter( &result, stream );
+ CppUnit::XmlOutputter outputter( m_result, stream );
outputter.write();
std::string actualXml = stream.str();
@@ -320,4 +292,56 @@ XmlOutputterTest::testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSucess()
"</Statistics>"
"</TestRun>";
CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
-} \ No newline at end of file
+}
+
+
+void
+XmlOutputterTest::addTest( std::string testName )
+{
+ CppUnit::Test *test = makeDummyTest( testName );
+ m_result->startTest( test );
+ m_result->endTest( test );
+}
+
+
+void
+XmlOutputterTest::addTestFailure( std::string testName,
+ std::string message,
+ CppUnit::SourceLine sourceLine )
+{
+ addGenericTestFailure( testName, message, sourceLine, false );
+}
+
+
+void
+XmlOutputterTest::addTestError( std::string testName,
+ std::string message,
+ CppUnit::SourceLine sourceLine )
+{
+ addGenericTestFailure( testName, message, sourceLine, true );
+}
+
+
+void
+XmlOutputterTest::addGenericTestFailure( std::string testName,
+ std::string message,
+ CppUnit::SourceLine sourceLine,
+ bool isError )
+{
+ CppUnit::Test *test = makeDummyTest( testName );
+ m_result->startTest( test );
+ CppUnit::TestFailure failure( test,
+ new CppUnit::Exception( message, sourceLine ),
+ isError );
+ m_result->addFailure( failure );
+ m_result->endTest( test );
+}
+
+
+CppUnit::Test *
+XmlOutputterTest::makeDummyTest( std::string testName )
+{
+ CppUnit::Test *test = new CppUnit::TestCase( testName );
+ m_dummyTests.push_back( test );
+ return test;
+}