Invocation of buildtool modules.
[reactos.git] / reactos / tools / rbuild / test.h
1 #ifndef __TEST_H
2 #define __TEST_H
3
4 #include "rbuild.h"
5
6 class BaseTest
7 {
8 public:
9 bool Failed;
10 BaseTest();
11 virtual ~BaseTest();
12 virtual void Run() = 0;
13 protected:
14 void Assert(const char *message, ...);
15 void IsNull(void* reference,
16 const char* file,
17 int line);
18 void IsNotNull(void* reference,
19 const char* file,
20 int line);
21 void IsTrue(bool condition,
22 const char* file,
23 int line);
24 void IsFalse(bool condition,
25 const char* file,
26 int line);
27 void AreEqual(int expected,
28 int actual,
29 const char* file,
30 int line);
31 void AreEqual(const std::string& expected,
32 const std::string& actual,
33 const char* file,
34 int line);
35 void AreNotEqual(int expected,
36 int actual,
37 const char* file,
38 int line);
39 private:
40 void Fail();
41 };
42
43 #define IS_NULL(reference) IsNull((void*)reference,__FILE__,__LINE__)
44 #define IS_NOT_NULL(reference) IsNotNull((void*)reference,__FILE__,__LINE__)
45 #define IS_TRUE(condition) IsTrue(condition,__FILE__,__LINE__)
46 #define IS_FALSE(condition) IsFalse(condition,__FILE__,__LINE__)
47 #define ARE_EQUAL(expected,actual) AreEqual(expected,actual,__FILE__,__LINE__)
48 #define ARE_NOT_EQUAL(expected,actual) AreNotEqual(expected,actual,__FILE__,__LINE__)
49
50 class ProjectTest : public BaseTest
51 {
52 public:
53 void Run();
54 };
55
56
57 class ModuleTest : public BaseTest
58 {
59 public:
60 void Run();
61 };
62
63
64 class DefineTest : public BaseTest
65 {
66 public:
67 void Run();
68 };
69
70
71 class IncludeTest : public BaseTest
72 {
73 public:
74 void Run();
75 };
76
77
78 class InvokeTest : public BaseTest
79 {
80 public:
81 void Run();
82 };
83
84 #endif /* __TEST_H */