36 template <
typename A,
typename B>
37 void printAssertionMessage(
bool ok,
const char* file, uint16_t line,
38 const A& lhs,
const char *opName,
const B& rhs) {
43 if (!isOutput)
return;
51 printer->print(
"Assertion ");
52 printer->print(ok ?
"passed" :
"failed");
53 printer->print(
": (");
56 printer->print(opName);
59 printer->print(
"), file ");
61 printer->print(
", line ");
63 printer->println(
'.');
66 bool assertion(
const char* file, uint16_t line,
bool lhs,
67 const char* opName,
bool (*op)(
bool lhs,
bool rhs),
69 bool ok = op(lhs, rhs);
70 printAssertionMessage(ok, file, line, lhs, opName, rhs);
75 bool assertion(
const char* file, uint16_t line,
char lhs,
76 const char* opName,
bool (*op)(
char lhs,
char rhs),
78 bool ok = op(lhs, rhs);
79 printAssertionMessage(ok, file, line, lhs, opName, rhs);
84 bool assertion(
const char* file, uint16_t line,
int lhs,
85 const char* opName,
bool (*op)(
int lhs,
int rhs),
87 bool ok = op(lhs, rhs);
88 printAssertionMessage(ok, file, line, lhs, opName, rhs);
93 bool assertion(
const char* file, uint16_t line,
unsigned int lhs,
94 const char* opName,
bool (*op)(
unsigned int lhs,
unsigned int rhs),
96 bool ok = op(lhs, rhs);
97 printAssertionMessage(ok, file, line, lhs, opName, rhs);
102 bool assertion(
const char* file, uint16_t line,
long lhs,
103 const char* opName,
bool (*op)(
long lhs,
long rhs),
105 bool ok = op(lhs, rhs);
106 printAssertionMessage(ok, file, line, lhs, opName, rhs);
111 bool assertion(
const char* file, uint16_t line,
unsigned long lhs,
112 const char* opName,
bool (*op)(
unsigned long lhs,
unsigned long rhs),
114 bool ok = op(lhs, rhs);
115 printAssertionMessage(ok, file, line, lhs, opName, rhs);
120 bool assertion(
const char* file, uint16_t line,
double lhs,
121 const char* opName,
bool (*op)(
double lhs,
double rhs),
123 bool ok = op(lhs, rhs);
124 printAssertionMessage(ok, file, line, lhs, opName, rhs);
129 bool assertion(
const char* file, uint16_t line,
const char* lhs,
130 const char* opName,
bool (*op)(
const char* lhs,
const char* rhs),
132 bool ok = op(lhs, rhs);
133 printAssertionMessage(ok, file, line, lhs, opName, rhs);
138 bool assertion(
const char* file, uint16_t line,
const char* lhs,
139 const char *opName,
bool (*op)(
const char* lhs,
const String& rhs),
141 bool ok = op(lhs, rhs);
142 printAssertionMessage(ok, file, line, lhs, opName, rhs);
147 bool assertion(
const char* file, uint16_t line,
const char* lhs,
149 bool (*op)(
const char* lhs,
const __FlashStringHelper* rhs),
150 const __FlashStringHelper* rhs) {
151 bool ok = op(lhs, rhs);
152 printAssertionMessage(ok, file, line, lhs, opName, rhs);
157 bool assertion(
const char* file, uint16_t line,
const String& lhs,
158 const char *opName,
bool (*op)(
const String& lhs,
const char* rhs),
160 bool ok = op(lhs, rhs);
161 printAssertionMessage(ok, file, line, lhs, opName, rhs);
166 bool assertion(
const char* file, uint16_t line,
const String& lhs,
167 const char *opName,
bool (*op)(
const String& lhs,
const String& rhs),
169 bool ok = op(lhs, rhs);
170 printAssertionMessage(ok, file, line, lhs, opName, rhs);
175 bool assertion(
const char* file, uint16_t line,
const String& lhs,
177 bool (*op)(
const String& lhs,
const __FlashStringHelper* rhs),
178 const __FlashStringHelper* rhs) {
179 bool ok = op(lhs, rhs);
180 printAssertionMessage(ok, file, line, lhs, opName, rhs);
185 bool assertion(
const char* file, uint16_t line,
186 const __FlashStringHelper* lhs,
const char *opName,
187 bool (*op)(
const __FlashStringHelper* lhs,
const char* rhs),
189 bool ok = op(lhs, rhs);
190 printAssertionMessage(ok, file, line, lhs, opName, rhs);
195 bool assertion(
const char* file, uint16_t line,
196 const __FlashStringHelper* lhs,
const char *opName,
197 bool (*op)(
const __FlashStringHelper* lhs,
const String& rhs),
199 bool ok = op(lhs, rhs);
200 printAssertionMessage(ok, file, line, lhs, opName, rhs);
205 bool assertion(
const char* file, uint16_t line,
206 const __FlashStringHelper* lhs,
const char *opName,
207 bool (*op)(
const __FlashStringHelper* lhs,
const __FlashStringHelper* rhs),
208 const __FlashStringHelper* rhs) {
209 bool ok = op(lhs, rhs);
210 printAssertionMessage(ok, file, line, lhs, opName, rhs);
static const uint8_t kAssertionPassed
Print assertXxx() passed message.
static void setPassOrFail(bool ok)
Set the pass/fail status of the current test.
Various assertXxx() macros are defined in this header.
static Print * getPrinter()
Get the output printer used by the various assertion() methods and the TestRunner.
static const uint8_t kAssertionFailed
Print assertXxx() failed message.
static bool isVerbosity(uint8_t verbosity)
Returns true if ANY of the bit flags of 'verbosity' is set.