-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathtest_matcher_cast_bool.cpp
63 lines (55 loc) · 1.54 KB
/
test_matcher_cast_bool.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "../source/h2_unit.cpp"
bool bool_true = true;
const bool const_bool_true = true;
bool& bool_ref_true = bool_true;
bool bool_false = false;
const bool const_bool_false = false;
const bool& const_bool_ref_false = false;
bool&& bool_rref_false = false;
#define BOOL_TRUE_LIST 1, 2, -1, /*(void*)1,*/ \
true, \
bool_true, \
const_bool_true, \
bool_ref_true
#define BOOL_FALSE_LIST 0, /*(void*)0, NULL, nullptr,*/ \
false, \
bool_false, \
const_bool_false, \
const_bool_ref_false, \
bool_rref_false
SUITE(cast bool)
{
Case(OK)
{
#define TheCheck(x) OK(x);
H2Foreach(TheCheck, (BOOL_TRUE_LIST));
#undef TheCheck
#define TheCheck(x) OK(!x);
H2Foreach(TheCheck, (BOOL_FALSE_LIST));
#undef TheCheck
}
Case(OK Is True)
{
#define TheCheck(x) OK(true, x);
H2Foreach(TheCheck, (BOOL_TRUE_LIST));
#undef TheCheck
}
Case(OK Is False)
{
#define TheCheck(x) OK(false, x);
H2Foreach(TheCheck, (BOOL_FALSE_LIST));
#undef TheCheck
}
Case(OK Not True)
{
#define TheCheck(x) OK(Not(true), x);
H2Foreach(TheCheck, (BOOL_FALSE_LIST));
#undef TheCheck
}
Case(OK Not)
{
#define TheCheck(x, y) OK(Not(x), y);
H2Fullmesh(TheCheck, (BOOL_FALSE_LIST), (BOOL_TRUE_LIST));
#undef TheCheck
}
}