CppUnit project page FAQ

TestFactoryRegistry.h
Go to the documentation of this file.
1 #ifndef CPPUNIT_EXTENSIONS_TESTFACTORYREGISTRY_H
2 #define CPPUNIT_EXTENSIONS_TESTFACTORYREGISTRY_H
3 
4 #include <cppunit/Portability.h>
5 
6 #if CPPUNIT_NEED_DLL_DECL
7 #pragma warning( push )
8 #pragma warning( disable: 4251) // X needs to have dll-interface to be used by clients of class Z
9 #endif
10 
13 #include <string>
14 
16 
17 
18 class TestSuite;
19 
20 #if CPPUNIT_NEED_DLL_DECL
21 // template class CPPUNIT_API std::set<TestFactory *>;
22 #endif
23 
24 
81 {
82 public:
87  TestFactoryRegistry( std::string name );
88 
90  virtual ~TestFactoryRegistry();
91 
96  virtual Test *makeTest();
97 
107  static TestFactoryRegistry &getRegistry( const std::string &name = "All Tests" );
108 
112  void addTestToSuite( TestSuite *suite );
113 
118  void registerFactory( TestFactory *factory );
119 
126  void unregisterFactory( TestFactory *factory );
127 
138  void addRegistry( const std::string &name );
139 
153  static bool isValid();
154 
160  void registerFactory( const std::string &name,
161  TestFactory *factory );
162 
163 private:
165  void operator =( const TestFactoryRegistry &copy );
166 
167 private:
168  typedef CppUnitSet<TestFactory *, std::less<TestFactory*> > Factories;
170 
171  std::string m_name;
172 };
173 
174 
176 
177 #if CPPUNIT_NEED_DLL_DECL
178 #pragma warning( pop )
179 #endif
180 
181 
182 #endif // CPPUNIT_EXTENSIONS_TESTFACTORYREGISTRY_H

Send comments to:
CppUnit Developers