From 0c5051a8acf83fd77a6094177eb0711d3f90d997 Mon Sep 17 00:00:00 2001 From: Baptiste Lepilleur Date: Mon, 11 Jun 2001 18:56:23 +0000 Subject: 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. --- examples/cppunittest/TestSuiteTest.cpp | 136 +++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 examples/cppunittest/TestSuiteTest.cpp (limited to 'examples/cppunittest/TestSuiteTest.cpp') 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_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() ); +} -- cgit v1.2.1