testregistry.h

Go to the documentation of this file.
00001 #ifndef __KDAB__UNITTEST__TESTREGISTRY_H__
00002 #define __KDAB__UNITTEST__TESTREGISTRY_H__
00003 
00004 #ifndef KDAB_NO_UNIT_TESTS
00005 
00006 #include <string>
00007 #include <map>
00008 #include <vector>
00009 #include <cassert>
00010 
00011 #include "../../kdchart_export.h"
00012 
00013 namespace KDAB {
00014 namespace UnitTest {
00015 
00016     class Test;
00017     class TestFactory;
00018 
00019     class KDCHART_EXPORT TestRegistry {
00020         friend class ::KDAB::UnitTest::TestFactory;
00021         static TestRegistry * mSelf;
00022         TestRegistry();
00023         ~TestRegistry();
00024     public:
00025         static TestRegistry * instance();
00026         static void deleteInstance();
00027 
00028         void registerTestFactory( const TestFactory * tf, const char * group );
00029 
00032         unsigned int run() const;
00035         unsigned int run( const char * group ) const;
00036 
00037     private:
00038         std::map< std::string, std::vector<const TestFactory*> > mTests;
00039     };
00040 
00041     class KDCHART_EXPORT Runner {
00042     public:
00043         ~Runner();
00044         unsigned int run( const char * group=0 ) const;
00045     };
00046 
00047 }
00048 }
00049 
00050 #endif // KDAB_NO_UNIT_TESTS
00051 
00052 #endif // __KDAB__UNITTEST__TESTREGISTRY_H__

Generated on Thu Mar 4 23:19:13 2010 for KD Chart 2 by  doxygen 1.5.4