diff options
Diffstat (limited to 'examples/cppunittest/TestPathTest.h')
| -rw-r--r-- | examples/cppunittest/TestPathTest.h | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/examples/cppunittest/TestPathTest.h b/examples/cppunittest/TestPathTest.h new file mode 100644 index 0000000..6ed4a98 --- /dev/null +++ b/examples/cppunittest/TestPathTest.h @@ -0,0 +1,142 @@ +#ifndef TESTPATHTEST_H +#define TESTPATHTEST_H + +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestPath.h> +#include <cppunit/TestCase.h> +#include <stdexcept> + + +/*! \class TestPathTest + * \brief Unit tests for class TestPath. + */ +class TestPathTest : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE( TestPathTest ); + CPPUNIT_TEST( testDefaultConstructor ); + CPPUNIT_TEST( testAddTest ); + CPPUNIT_TEST_EXCEPTION( testGetTestAtThrow1, std::out_of_range ); + CPPUNIT_TEST_EXCEPTION( testGetTestAtThrow2, std::out_of_range ); + CPPUNIT_TEST( testGetChildTest ); + CPPUNIT_TEST( testGetChildTestManyTests ); + CPPUNIT_TEST_EXCEPTION( testGetChildTestThrowIfNotValid, std::out_of_range ); + CPPUNIT_TEST( testAddPath ); + CPPUNIT_TEST( testAddInvalidPath ); + CPPUNIT_TEST( testRemoveTests ); + CPPUNIT_TEST( testRemoveTest ); + CPPUNIT_TEST_EXCEPTION( testRemoveTestThrow1, std::out_of_range ); + CPPUNIT_TEST_EXCEPTION( testRemoveTestThrow2, std::out_of_range ); + CPPUNIT_TEST( testUp ); + CPPUNIT_TEST_EXCEPTION( testUpThrow, std::out_of_range ); + CPPUNIT_TEST( testInsert ); + CPPUNIT_TEST( testInsertAtEnd ); + CPPUNIT_TEST_EXCEPTION( testInsertThrow1, std::out_of_range ); + CPPUNIT_TEST_EXCEPTION( testInsertThrow2, std::out_of_range ); + CPPUNIT_TEST( testInsertPath ); + CPPUNIT_TEST_EXCEPTION( testInsertPathThrow, std::out_of_range ); + CPPUNIT_TEST( testInsertPathDontThrowIfInvalid ); + CPPUNIT_TEST( testRootConstructor ); + CPPUNIT_TEST( testPathSliceConstructorCopyUntilEnd ); + CPPUNIT_TEST( testPathSliceConstructorCopySpecifiedCount ); + CPPUNIT_TEST( testPathSliceConstructorCopyNone ); + CPPUNIT_TEST( testPathSliceConstructorNegativeIndex ); + CPPUNIT_TEST( testPathSliceConstructorAfterEndIndex ); + CPPUNIT_TEST( testPathSliceConstructorNegativeIndexUntilEnd ); + CPPUNIT_TEST( testPathSliceConstructorNegativeIndexNone ); + CPPUNIT_TEST( testToStringNoTest ); + CPPUNIT_TEST( testToStringOneTest ); + CPPUNIT_TEST( testToStringHierarchy ); + CPPUNIT_TEST( testPathStringConstructorRoot ); + CPPUNIT_TEST( testPathStringConstructorEmptyIsRoot ); + CPPUNIT_TEST( testPathStringConstructorHierarchy ); + CPPUNIT_TEST_EXCEPTION( testPathStringConstructorBadRootThrow, std::invalid_argument ); + CPPUNIT_TEST( testPathStringConstructorRelativeRoot ); + CPPUNIT_TEST( testPathStringConstructorRelativeRoot2 ); + CPPUNIT_TEST_EXCEPTION( testPathStringConstructorThrow1, std::invalid_argument ); + CPPUNIT_TEST( testPathStringConstructorRelativeHierarchy ); + CPPUNIT_TEST_EXCEPTION( testPathStringConstructorBadRelativeHierarchyThrow, std::invalid_argument ); + CPPUNIT_TEST_SUITE_END(); + +public: + /*! Constructs a TestPathTest object. + */ + TestPathTest(); + + /// Destructor. + virtual ~TestPathTest(); + + void setUp(); + void tearDown(); + + void testDefaultConstructor(); + void testAddTest(); + void testGetTestAtThrow1(); + void testGetTestAtThrow2(); + void testGetChildTest(); + void testGetChildTestManyTests(); + void testGetChildTestThrowIfNotValid(); + + void testAddPath(); + void testAddInvalidPath(); + + void testRemoveTests(); + void testRemoveTest(); + void testRemoveTestThrow1(); + void testRemoveTestThrow2(); + void testUp(); + void testUpThrow(); + + void testInsert(); + void testInsertAtEnd(); + void testInsertThrow1(); + void testInsertThrow2(); + + void testInsertPath(); + void testInsertPathThrow(); + void testInsertPathDontThrowIfInvalid(); + + void testRootConstructor(); + void testPathSliceConstructorCopyUntilEnd(); + void testPathSliceConstructorCopySpecifiedCount(); + void testPathSliceConstructorCopyNone(); + void testPathSliceConstructorNegativeIndex(); + void testPathSliceConstructorAfterEndIndex(); + void testPathSliceConstructorNegativeIndexUntilEnd(); + void testPathSliceConstructorNegativeIndexNone(); + + void testToStringNoTest(); + void testToStringOneTest(); + void testToStringHierarchy(); + + void testPathStringConstructorRoot(); + void testPathStringConstructorEmptyIsRoot(); + void testPathStringConstructorHierarchy(); + void testPathStringConstructorBadRootThrow(); + void testPathStringConstructorRelativeRoot(); + void testPathStringConstructorRelativeRoot2(); + void testPathStringConstructorThrow1(); + void testPathStringConstructorRelativeHierarchy(); + void testPathStringConstructorBadRelativeHierarchyThrow(); + +private: + /// Prevents the use of the copy constructor. + TestPathTest( const TestPathTest © ); + + /// Prevents the use of the copy operator. + void operator =( const TestPathTest © ); + +private: + CppUnit::TestPath *m_path; + CppUnit::TestCase *m_test1; + CppUnit::TestCase *m_test2; + CppUnit::TestCase *m_test3; + CppUnit::TestCase *m_test4; + CppUnit::TestSuite *m_suite1; + CppUnit::TestSuite *m_suite2; + CppUnit::TestCase *m_testSuite2a; + CppUnit::TestCase *m_testSuite2b; +}; + + + +#endif // TESTPATHTEST_H |
