KD Chart 2  [rev.2.5.1]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
testregistry.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Chart library.
5 **
6 ** Licensees holding valid commercial KD Chart licenses may use this file in
7 ** accordance with the KD Chart Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
23 #ifndef __KDAB__UNITTEST__TESTREGISTRY_H__
24 #define __KDAB__UNITTEST__TESTREGISTRY_H__
25 
26 #ifndef KDAB_NO_UNIT_TESTS
27 
28 #include "../kdganttglobal.h"
29 
30 #include <string>
31 #include <map>
32 #include <vector>
33 #include <cassert>
34 
35 namespace KDAB {
36 namespace UnitTest {
37 
38  class Test;
39  class TestFactory;
40 
41  class KDCHART_EXPORT TestRegistry {
42  friend class ::KDAB::UnitTest::TestFactory;
43  static TestRegistry * mSelf;
44  TestRegistry();
45  ~TestRegistry();
46  public:
47  static TestRegistry * instance();
48  static void deleteInstance();
49 
50  void registerTestFactory( const TestFactory * tf, const char * group );
51 
54  unsigned int run() const;
57  unsigned int run( const char * group ) const;
58 
59  private:
60  std::map< std::string, std::vector<const TestFactory*> > mTests;
61  };
62 
63  class KDCHART_EXPORT Runner {
64  public:
65  ~Runner();
66  unsigned int run( const char * group=0 ) const;
67  };
68 
69 }
70 }
71 
72 #endif // KDAB_NO_UNIT_TESTS
73 
74 #endif // __KDAB__UNITTEST__TESTREGISTRY_H__

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-chart/