tjtest.h
1 /***************************************************************************
2  tjtest.h - description
3  -------------------
4  begin : Mon Dec 12 2005
5  copyright : (C) 2000-2015 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef TJTEST_H
19 #define TJTEST_H
20 
21 #include <tjutils/tjstatic.h>
22 #include <tjutils/tjlabel.h>
23 
29 #ifndef NO_UNIT_TEST
30 
36 class UnitTest : public StaticHandler<UnitTest>, public Labeled {
37 
38  public:
39 
40  static int check_all();
41 
42  static void init_static();
43  static void destroy_static();
44 
45  static const char* get_compName();
46 
47  protected:
48 
49  UnitTest(const STD_string& testlabel);
50  virtual ~UnitTest() {}
51 
52  private:
53 
54  virtual bool check() const = 0;
55 
56  static STD_list<UnitTest*>* tests;
57 
58 };
59 
60 #endif
61 
64 #endif