Test module type support
[reactos.git] / reactos / tools / rbuild / test.h
1 #ifndef __TEST_H
2 #define __TEST_H
3
4 #include "rbuild.h"
5 #include "backend/mingw/mingw.h"
6
7 #define RBUILD_BASE "tools" SSEP "rbuild" SSEP
8
9 class BaseTest
10 {
11 public:
12 bool Failed;
13 BaseTest ();
14 virtual ~BaseTest ();
15 virtual void Run () = 0;
16 protected:
17 void Assert ( const char *message,
18 ... );
19 void IsNull ( void* reference,
20 const char* file,
21 int line );
22 void IsNotNull ( void* reference,
23 const char* file,
24 int line );
25 void IsTrue ( bool condition,
26 const char* file,
27 int line );
28 void IsFalse ( bool condition,
29 const char* file,
30 int line );
31 void AreEqual ( int expected,
32 int actual,
33 const char* file,
34 int line );
35 void AreEqual ( const std::string& expected,
36 const std::string& actual,
37 const char* file,
38 int line );
39 void AreNotEqual ( int expected,
40 int actual,
41 const char* file,
42 int line );
43 private:
44 void Fail ();
45 };
46
47 #define IS_NULL(reference) IsNull((void*)reference,__FILE__,__LINE__)
48 #define IS_NOT_NULL(reference) IsNotNull((void*)reference,__FILE__,__LINE__)
49 #define IS_TRUE(condition) IsTrue(condition,__FILE__,__LINE__)
50 #define IS_FALSE(condition) IsFalse(condition,__FILE__,__LINE__)
51 #define ARE_EQUAL(expected,actual) AreEqual(expected,actual,__FILE__,__LINE__)
52 #define ARE_NOT_EQUAL(expected,actual) AreNotEqual(expected,actual,__FILE__,__LINE__)
53
54 class ProjectTest : public BaseTest
55 {
56 public:
57 void Run ();
58 };
59
60
61 class ModuleTest : public BaseTest
62 {
63 public:
64 void Run ();
65 };
66
67
68 class DefineTest : public BaseTest
69 {
70 public:
71 void Run ();
72 };
73
74
75 class IncludeTest : public BaseTest
76 {
77 public:
78 void Run ();
79 };
80
81
82 class InvokeTest : public BaseTest
83 {
84 public:
85 void Run ();
86 };
87
88
89 class LinkerFlagTest : public BaseTest
90 {
91 public:
92 void Run ();
93 };
94
95
96 class IfTest : public BaseTest
97 {
98 public:
99 void Run ();
100 };
101
102
103 class FunctionTest : public BaseTest
104 {
105 public:
106 void Run ();
107 };
108
109
110 class SourceFileTest : public BaseTest
111 {
112 public:
113 void Run ();
114 void IncludeTest ();
115 void FullParseTest ();
116 private:
117 bool IsParentOf ( const SourceFile* parent,
118 const SourceFile* child );
119
120 };
121
122
123 class CDFileTest : public BaseTest
124 {
125 public:
126 void Run ();
127 };
128
129
130 class SymbolTest : public BaseTest
131 {
132 public:
133 void Run ();
134 };
135
136 #endif /* __TEST_H */