Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Main Page
Related Pages
Supported Boards
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Enumerations
Data Structures
Data Structures
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerator
Related Symbols
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
p
q
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
►
RIOT OS
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
cppunit_fff.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021 Jens Wetterich <jens@wetterich-net.de>
3
*
4
* This file is subject to the terms and conditions of the GNU Lesser
5
* General Public License v2.1. See the file LICENSE in the top level
6
* directory for more details.
7
*/
16
#ifndef CPPUNIT_FFF_H
17
#define CPPUNIT_FFF_H
18
#if __cplusplus >= 201103L || defined(DOXYGEN)
26
#define EXPECT_FFF_CALL_COUNT(name, count) \
27
if (name##_fake.call_count != (count)) { \
28
fail(); \
29
printf("Expected %d calls to " #name ", but got %d\n", count, name##_fake.call_count); \
30
}
26
#define EXPECT_FFF_CALL_COUNT(name, count) \
…
31
33
#define EXPECT_FFF_CALL_1(name, val1) \
34
if (name##_fake.arg0_val != (val1)) { \
35
fail(); \
36
puts("Argument 0 to mock " #name " doesn't match the expectation.\n"); \
37
}
38
#define EXPECT_FFF_CALL_2(name, val1, val2) \
39
if (name##_fake.arg0_val != (val1)) { \
40
fail(); \
41
puts("Argument 1 to mock " #name " doesn't match the expectation.\n"); \
42
} \
43
if (name##_fake.arg1_val != (val2)) { \
44
fail(); \
45
puts("Argument 2 to mock " #name " doesn't match the expectation.\n"); \
46
}
47
#define EXPECT_FFF_CALL_3(name, val1, val2, val3) \
48
if (name##_fake.arg0_val != (val1)) { \
49
fail(); \
50
puts("Argument 1 to mock " #name " doesn't match the expectation.\n"); \
51
} \
52
if (name##_fake.arg1_val != (val2)) { \
53
fail(); \
54
puts("Argument 2 to mock " #name " doesn't match the expectation.\n"); \
55
} \
56
if (name##_fake.arg2_val != (val3)) { \
57
fail(); \
58
puts("Argument 3 to mock " #name " doesn't match the expectation.\n"); \
59
}
60
#define EXPECT_FFF_CALL_4(name, val1, val2, val3, val4) \
61
if (name##_fake.arg0_val != (val1)) { \
62
fail(); \
63
puts("Argument 1 to mock " #name " doesn't match the expectation.\n"); \
64
} \
65
if (name##_fake.arg1_val != (val2)) { \
66
fail(); \
67
puts("Argument 2 to mock " #name " doesn't match the expectation.\n"); \
68
} \
69
if (name##_fake.arg2_val != (val3)) { \
70
fail(); \
71
puts("Argument 3 to mock " #name " doesn't match the expectation.\n"); \
72
} \
73
if (name##_fake.arg3_val != (val4)) { \
74
fail(); \
75
puts("Argument 4 to mock " #name " doesn't match the expectation.\n"); \
76
}
77
#define EXPECT_FFF_CALL_5(name, val1, val2, val3, val4, val5) \
78
if (name##_fake.arg0_val != (val1)) { \
79
fail(); \
80
puts("Argument 1 to mock " #name " doesn't match the expectation.\n"); \
81
} \
82
if (name##_fake.arg1_val != (val2)) { \
83
fail(); \
84
puts("Argument 2 to mock " #name " doesn't match the expectation.\n"); \
85
} \
86
if (name##_fake.arg2_val != (val3)) { \
87
fail(); \
88
puts("Argument 3 to mock " #name " doesn't match the expectation.\n"); \
89
} \
90
if (name##_fake.arg3_val != (val4)) { \
91
fail(); \
92
puts("Argument 4 to mock " #name " doesn't match the expectation.\n"); \
93
} \
94
if (name##_fake.arg4_val != (val5)) { \
95
fail(); \
96
puts("Argument 5 to mock " #name " doesn't match the expectation.\n"); \
97
}
98
#define EXPECT_FFF_CALL_6(name, val1, val2, val3, val4, val5, val6) \
99
if (name##_fake.arg0_val != (val1)) { \
100
fail(); \
101
puts("Argument 1 to mock " #name " doesn't match the expectation.\n"); \
102
} \
103
if (name##_fake.arg1_val != (val2)) { \
104
fail(); \
105
puts("Argument 2 to mock " #name " doesn't match the expectation.\n"); \
106
} \
107
if (name##_fake.arg2_val != (val3)) { \
108
fail(); \
109
puts("Argument 3 to mock " #name " doesn't match the expectation.\n"); \
110
} \
111
if (name##_fake.arg3_val != (val4)) { \
112
fail(); \
113
puts("Argument 4 to mock " #name " doesn't match the expectation.\n"); \
114
} \
115
if (name##_fake.arg5_val != (val6)) { \
116
fail(); \
117
puts("Argument 6 to mock " #name " doesn't match the expectation.\n"); \
118
}
119
#define GET_FFF_MACRO(_1, _2, _3, _4, _5, _6, NAME, ...) NAME
128
#define EXPECT_FFF_CALL_PARAMS(mock, ...) \
129
GET_FFF_MACRO(__VA_ARGS__, EXPECT_FFF_CALL_6, EXPECT_FFF_CALL_5, EXPECT_FFF_CALL_4, \
130
EXPECT_FFF_CALL_3, EXPECT_FFF_CALL_2, EXPECT_FFF_CALL_1) \
131
(mock, __VA_ARGS__)
128
#define EXPECT_FFF_CALL_PARAMS(mock, ...) \
…
132
#else
133
#error This library needs C++11 and newer
134
#endif
135
#endif
Generated on Tue Apr 8 2025 08:04:08 by
1.12.0