-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbool.c
More file actions
75 lines (61 loc) · 2.02 KB
/
bool.c
File metadata and controls
75 lines (61 loc) · 2.02 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
// NOTE: The location of this include might differ in your code depending on location
// For example, it could be: #include "caught.h"
#include "../src/caught.h"
#include <stdbool.h>
TEST("bool - basic")
{
EXPECT_BOOL(true, ==, true);
EXPECT_BOOL(false, ==, false);
EXPECT_BOOL(true, !=, false);
EXPECT_BOOL(false, !=, true);
}
TEST("bool - inequalities")
{
EXPECT_BOOL(true, >, false);
EXPECT_BOOL(true, >=, false);
EXPECT_BOOL(true, >=, true);
EXPECT_BOOL(false, <, true);
EXPECT_BOOL(false, <=, true);
EXPECT_BOOL(false, <=, false);
}
TEST("bool - ptrs")
{
bool the_truth = true;
bool the_other_truth = true;
bool the_lie = false;
bool the_other_lie = false;
EXPECT_BOOL_PTR(&the_truth, ==, &the_other_truth);
EXPECT_BOOL_PTR(&the_lie, ==, &the_other_lie);
EXPECT_BOOL_PTR(&the_truth, !=, &the_lie);
EXPECT_BOOL_PTR(NULL, !=, &the_lie);
EXPECT_BOOL_PTR(&the_lie, !=, NULL);
EXPECT_BOOL_PTR(&the_truth, >, &the_lie);
EXPECT_BOOL_PTR(&the_truth, >=, &the_lie);
EXPECT_BOOL_PTR(&the_truth, >=, &the_other_truth);
EXPECT_BOOL_PTR(&the_lie, <, &the_truth);
EXPECT_BOOL_PTR(&the_lie, <=, &the_truth);
EXPECT_BOOL_PTR(&the_lie, <=, &the_other_lie);
}
TEST("bool - arrays")
{
bool array[] = {false, false, false};
bool array2[] = {false, false, false};
bool array3[] = {true, true, true};
EXPECT_BOOL_ARRAY(array, ==, array2, 3);
EXPECT_BOOL_ARRAY(array, >=, array2, 3);
EXPECT_BOOL_ARRAY(array, <=, array2, 3);
array[2] = true;
EXPECT_BOOL_ARRAY(array, !=, array2, 3);
EXPECT_BOOL_ARRAY(array, ==, array2, 2);
EXPECT_BOOL_ARRAY(array2, <, array3, 3);
EXPECT_BOOL_ARRAY(array3, >, array2, 3);
}
TEST("bool - in")
{
bool array[] = {false, false, true};
bool array2[] = {false, false, false};
EXPECT_BOOL_ARRAY_ELEMENT(false, in, array, 3);
EXPECT_BOOL_ARRAY_ELEMENT(true, in, array, 3);
EXPECT_BOOL_ARRAY_ELEMENT(true, not in, array2, 3);
EXPECT_BOOL_ARRAY_ELEMENT(true, not in, array, 2);
}