CppUnit project page FAQ CppUnit home page

Main Page | Modules | Directories | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

TestPath.h

Go to the documentation of this file.
00001 #ifndef CPPUNIT_TESTPATH_H
00002 #define CPPUNIT_TESTPATH_H
00003 
00004 #include <cppunit/Portability.h>
00005 
00006 #if CPPUNIT_NEED_DLL_DECL
00007 #pragma warning( push )
00008 #pragma warning( disable: 4251 )  // X needs to have dll-interface to be used by clients of class Z
00009 #endif
00010 
00011 #include <cppunit/portability/CppUnitDeque.h>
00012 
00013 CPPUNIT_NS_BEGIN
00014 
00015 
00016 class Test;
00017 
00018 #if CPPUNIT_NEED_DLL_DECL
00019 //  template class CPPUNIT_API std::deque<Test *>;
00020 #endif
00021 
00022 
00033 class CPPUNIT_API TestPath
00034 {
00035 public:
00040   TestPath();
00041 
00046   TestPath( Test *root );
00047 
00055   TestPath( const TestPath &otherPath, 
00056             int indexFirst, 
00057             int count = -1 );
00058 
00074   TestPath( Test *searchRoot, 
00075             const std::string &pathAsString );
00076 
00080   TestPath( const TestPath &other );
00081 
00082   virtual ~TestPath();
00083 
00087   virtual bool isValid() const;
00088 
00092   virtual void add( Test *test );
00093 
00097   virtual void add( const TestPath &path );
00098 
00104   virtual void insert( Test *test, int index );
00105 
00112   virtual void insert( const TestPath &path, int index );
00113 
00118   virtual void removeTests();
00119 
00124   virtual void removeTest( int index );
00125 
00130   virtual void up();
00131 
00135   virtual int getTestCount() const;
00136 
00142   virtual Test *getTestAt( int index ) const;
00143 
00148   virtual Test *getChildTest() const;
00149 
00160   virtual std::string toString() const;
00161 
00166   TestPath &operator =( const TestPath &other );
00167 
00168 protected:
00173   void checkIndexValid( int index ) const;
00174 
00176   typedef CppUnitDeque<std::string> PathTestNames;
00177 
00184   bool splitPathString( const std::string &pathAsString,
00185                         PathTestNames &testNames );
00186 
00196   Test *findActualRoot( Test *searchRoot,
00197                         const std::string &pathAsString,
00198                         PathTestNames &testNames );
00199 
00200 protected:
00201   typedef CppUnitDeque<Test *> Tests;
00202   Tests m_tests;
00203 
00204 };
00205 
00206 
00207 CPPUNIT_NS_END
00208 
00209 #endif // CPPUNIT_TESTPATH_H
00210 

SourceForge Logo hosts this site. Send comments to:
CppUnit Developers