diff options
author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-06-11 18:56:23 +0000 |
---|---|---|
committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-06-11 18:56:23 +0000 |
commit | 0c5051a8acf83fd77a6094177eb0711d3f90d997 (patch) | |
tree | a0757b1cae952576f4497d40ccf3aa70a2bf84c8 /examples/cppunittest/TestSuiteTest.cpp | |
parent | 021d0a2611777a06d948735e0ad36cb90ffd413b (diff) | |
download | cppunit-0c5051a8acf83fd77a6094177eb0711d3f90d997.tar.gz |
Examples/cppunittest/TestResultTest.
examples/cppunittest/TestResultTest.*: renamed TestListenerTest.*
* examples/cppunittest/*: added unit tests for:
HelperMacros, TestAssert, TestCaller, TestCase, TestFailure,
TestResult, TestSuite, TestDecoratorTest, TestSetUp, RepeatedTestTest,
Orthodox, Exception.
Diffstat (limited to 'examples/cppunittest/TestSuiteTest.cpp')
-rw-r--r-- | examples/cppunittest/TestSuiteTest.cpp | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/examples/cppunittest/TestSuiteTest.cpp b/examples/cppunittest/TestSuiteTest.cpp new file mode 100644 index 0000000..b13c7ac --- /dev/null +++ b/examples/cppunittest/TestSuiteTest.cpp @@ -0,0 +1,136 @@ +#include "TestSuiteTest.h" +#include "FailingTestCase.h" +#include <cppunit/TestResult.h> + + +CPPUNIT_TEST_SUITE_REGISTRATION( TestSuiteTest ); + + +TestSuiteTest::TestSuiteTest() +{ +} + + +TestSuiteTest::~TestSuiteTest() +{ +} + + +void +TestSuiteTest::setUp() +{ + m_suite = new CppUnit::TestSuite(); + m_result = new CppUnit::TestResult(); +} + + +void +TestSuiteTest::tearDown() +{ + delete m_result; + delete m_suite; +} + + +void +TestSuiteTest::testConstructor() +{ + std::string name( "MySuite" ); + CppUnit::TestSuite suite( name ); + CPPUNIT_ASSERT_EQUAL( name, suite.getName() ); +} + + +void +TestSuiteTest::testCountTestCasesWithNoTest() +{ + CPPUNIT_ASSERT_EQUAL( 0, m_suite->countTestCases() ); +} + + +void +TestSuiteTest::testCountTestCasesWithTwoTests() +{ + m_suite->addTest( new CppUnit::TestCase( "test1" ) ); + m_suite->addTest( new CppUnit::TestCase( "test2" ) ); + + CPPUNIT_ASSERT_EQUAL( 2, m_suite->countTestCases() ); +} + + +void +TestSuiteTest::testCountTestCasesWithSubSuite() +{ + CppUnit::TestSuite *subSuite = new CppUnit::TestSuite( "SubSuite"); + subSuite->addTest( new CppUnit::TestCase( "test1" ) ); + subSuite->addTest( new CppUnit::TestCase( "test2" ) ); + + m_suite->addTest( new CppUnit::TestCase( "test3" ) ); + m_suite->addTest( subSuite ); + + CPPUNIT_ASSERT_EQUAL( 3, m_suite->countTestCases() ); +} + + +void +TestSuiteTest::testRunWithOneTest() +{ + FailingTestCase *test = new FailingTestCase(); + m_suite->addTest( test ); + + m_suite->run( m_result ); + test->verify(); + checkResult( 0, 0, 1 ); +} + + +void +TestSuiteTest::testRunWithOneTestAndSubSuite() +{ + CppUnit::TestSuite *subSuite = new CppUnit::TestSuite( "SubSuite"); + + FailingTestCase *test2 = new FailingTestCase(); + subSuite->addTest( test2 ); + + FailingTestCase *test3 = new FailingTestCase(); + subSuite->addTest( test3 ); + + FailingTestCase *test = new FailingTestCase(); + m_suite->addTest( test ); + m_suite->addTest( subSuite ); + + m_suite->run( m_result ); + checkResult( 0, 0, 3 ); + test->verify(); + test2->verify(); + test3->verify(); +} + + +void +TestSuiteTest::testGetTests() +{ + m_suite->addTest( new CppUnit::TestCase( "test1" ) ); + m_suite->addTest( new CppUnit::TestCase( "test2" ) ); + CPPUNIT_ASSERT_EQUAL( 2, int(m_suite->getTests().size()) ); +} + + +void +TestSuiteTest::testDeleteContents() +{ + m_suite->addTest( new CppUnit::TestCase( "test2" ) ); + m_suite->deleteContents(); + CPPUNIT_ASSERT_EQUAL( 0, int(m_suite->getTests().size()) ); +} + + +void +TestSuiteTest::checkResult( int failures, + int errors, + int testsRun ) +{ + CPPUNIT_ASSERT_EQUAL( testsRun, m_result->runTests() ); + CPPUNIT_ASSERT_EQUAL( errors, m_result->testErrors() ); + CPPUNIT_ASSERT_EQUAL( failures, m_result->testFailures() ); +} |