CppUnit project page FAQ CppUnit home page

TestFactoryRegistry.h
Go to the documentation of this file.
1#ifndef CPPUNIT_EXTENSIONS_TESTFACTORYREGISTRY_H
2#define CPPUNIT_EXTENSIONS_TESTFACTORYREGISTRY_H
3
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
18class TestSuite;
19
20#if CPPUNIT_NEED_DLL_DECL
21// template class CPPUNIT_API std::set<TestFactory *>;
22#endif
23
24
81{
82public:
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
163private:
165 void operator =( const TestFactoryRegistry &copy );
166
167private:
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
#define CPPUNIT_API
Definition CppUnitApi.h:27
#define CppUnitSet
Definition CppUnitSet.h:23
#define CPPUNIT_NS_END
Definition Portability.h:120
#define CPPUNIT_NS_BEGIN
Definition Portability.h:119
Abstract Test factory.
Definition TestFactory.h:14
virtual Test * makeTest()=0
TestFactoryRegistry(const TestFactoryRegistry &copy)
void addTestToSuite(TestSuite *suite)
Adds the registered tests to the specified suite.
Definition TestFactoryRegistry.cpp:142
static bool isValid()
Definition TestFactoryRegistry.cpp:155
void registerFactory(TestFactory *factory)
Adds the specified TestFactory to the registry.
Definition TestFactoryRegistry.cpp:112
CppUnitSet< TestFactory *, std::less< TestFactory * > > Factories
Definition TestFactoryRegistry.h:168
TestFactoryRegistry(std::string name)
Constructs the registry with the specified name.
Definition TestFactoryRegistry.cpp:85
Factories m_factories
Definition TestFactoryRegistry.h:169
void addRegistry(const std::string &name)
Definition TestFactoryRegistry.cpp:126
static TestFactoryRegistry & getRegistry(const std::string &name="All Tests")
Returns a named registry.
Definition TestFactoryRegistry.cpp:97
std::string m_name
Definition TestFactoryRegistry.h:171
void unregisterFactory(TestFactory *factory)
Definition TestFactoryRegistry.cpp:119
Base class for all test objects.
Definition Test.h:26
A Composite of Tests.
Definition TestSuite.h:41

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