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