25 #ifndef AUNIT_ASSERTION_H
26 #define AUNIT_ASSERTION_H
31 class __FlashStringHelper;
78 bool (*op)(
bool lhs,
bool rhs),
87 bool (*op)(
char lhs,
char rhs),
96 bool (*op)(
int lhs,
int rhs),
105 bool (*op)(
unsigned int lhs,
unsigned int rhs),
114 bool (*op)(
long lhs,
long rhs),
123 bool (*op)(
unsigned long lhs,
unsigned long rhs),
132 bool (*op)(
long long lhs,
long long rhs),
139 unsigned long long lhs,
141 bool (*op)(
unsigned long long lhs,
unsigned long long rhs),
142 unsigned long long rhs);
150 bool (*op)(
double lhs,
double rhs),
159 bool (*op)(
const void* lhs,
const void* rhs),
168 bool (*op)(
const char* lhs,
const char* rhs),
177 bool (*op)(
const char* lhs,
const String& rhs),
186 bool (*op)(
const char* lhs,
const __FlashStringHelper* rhs),
187 const __FlashStringHelper* rhs);
195 bool (*op)(
const String& lhs,
const char* rhs),
204 bool (*op)(
const String& lhs,
const String& rhs),
213 bool (*op)(
const String& lhs,
const __FlashStringHelper* rhs),
214 const __FlashStringHelper* rhs);
220 const __FlashStringHelper* lhs,
222 bool (*op)(
const __FlashStringHelper* lhs,
const char* rhs),
229 const __FlashStringHelper* lhs,
231 bool (*op)(
const __FlashStringHelper* lhs,
const String& rhs),
242 const __FlashStringHelper* lhs,
245 const __FlashStringHelper* lhs,
246 const __FlashStringHelper* rhs),
247 const __FlashStringHelper* rhs);
257 bool (*compareNear)(
int lhs,
int rhs,
int error));
268 unsigned int lhs,
unsigned int rhs,
unsigned int error));
278 bool (*compareNear)(
long lhs,
long rhs,
long error));
289 unsigned long lhs,
unsigned long rhs,
unsigned long error));
299 bool (*compareNear)(
double lhs,
double rhs,
double error));
308 const __FlashStringHelper* argString,
316 const __FlashStringHelper* lhsString,
318 bool (*op)(
bool lhs,
bool rhs),
320 const __FlashStringHelper* rhsString);
327 const __FlashStringHelper* lhsString,
329 bool (*op)(
char lhs,
char rhs),
331 const __FlashStringHelper* rhsString);
338 const __FlashStringHelper* lhsString,
340 bool (*op)(
int lhs,
int rhs),
342 const __FlashStringHelper* rhsString);
349 const __FlashStringHelper* lhsString,
351 bool (*op)(
unsigned int lhs,
unsigned int rhs),
353 const __FlashStringHelper* rhsString);
360 const __FlashStringHelper* lhsString,
362 bool (*op)(
long lhs,
long rhs),
364 const __FlashStringHelper* rhsString);
371 const __FlashStringHelper* lhsString,
373 bool (*op)(
unsigned long lhs,
unsigned long rhs),
375 const __FlashStringHelper* rhsString);
382 const __FlashStringHelper* lhsString,
384 bool (*op)(
long long lhs,
long long rhs),
386 const __FlashStringHelper* rhsString);
392 unsigned long long lhs,
393 const __FlashStringHelper* lhsString,
395 bool (*op)(
unsigned long long lhs,
unsigned long long rhs),
396 unsigned long long rhs,
397 const __FlashStringHelper* rhsString);
404 const __FlashStringHelper* lhsString,
406 bool (*op)(
double lhs,
double rhs),
408 const __FlashStringHelper* rhsString);
415 const __FlashStringHelper* lhsString,
417 bool (*op)(
const void* lhs,
const void* rhs),
419 const __FlashStringHelper* rhsString);
426 const __FlashStringHelper* lhsString,
428 bool (*op)(
const char* lhs,
const char* rhs),
430 const __FlashStringHelper* rhsString);
437 const __FlashStringHelper* lhsString,
439 bool (*op)(
const char* lhs,
const String& rhs),
441 const __FlashStringHelper* rhsString);
448 const __FlashStringHelper* lhsString,
450 bool (*op)(
const char* lhs,
const __FlashStringHelper* rhs),
451 const __FlashStringHelper* rhs,
452 const __FlashStringHelper* rhsString);
459 const __FlashStringHelper* lhsString,
461 bool (*op)(
const String& lhs,
const char* rhs),
463 const __FlashStringHelper* rhsString);
470 const __FlashStringHelper* lhsString,
472 bool (*op)(
const String& lhs,
const String& rhs),
474 const __FlashStringHelper* rhsString);
481 const __FlashStringHelper* lhsString,
483 bool (*op)(
const String& lhs,
const __FlashStringHelper* rhs),
484 const __FlashStringHelper* rhs,
485 const __FlashStringHelper* rhsString);
491 const __FlashStringHelper* lhs,
492 const __FlashStringHelper* lhsString,
494 bool (*op)(
const __FlashStringHelper* lhs,
const char* rhs),
496 const __FlashStringHelper* rhsString);
502 const __FlashStringHelper* lhs,
503 const __FlashStringHelper* lhsString,
505 bool (*op)(
const __FlashStringHelper* lhs,
const String& rhs),
507 const __FlashStringHelper* rhsString);
517 const __FlashStringHelper* lhs,
518 const __FlashStringHelper* lhsString,
521 const __FlashStringHelper* lhs,
522 const __FlashStringHelper* rhs),
523 const __FlashStringHelper* rhs,
524 const __FlashStringHelper* rhsString);
531 const __FlashStringHelper* lhsString,
533 const __FlashStringHelper* rhsString,
535 const __FlashStringHelper* errorString,
537 bool (*compareNear)(
int lhs,
int rhs,
int error));
544 const __FlashStringHelper* lhsString,
546 const __FlashStringHelper* rhsString,
548 const __FlashStringHelper* errorString,
551 unsigned int lhs,
unsigned int rhs,
unsigned int error));
558 const __FlashStringHelper* lhsString,
560 const __FlashStringHelper* rhsString,
562 const __FlashStringHelper* errorString,
564 bool (*compareNear)(
long lhs,
long rhs,
long error));
571 const __FlashStringHelper* lhsString,
573 const __FlashStringHelper* rhsString,
575 const __FlashStringHelper* errorString,
578 unsigned long lhs,
unsigned long rhs,
unsigned long error));
585 const __FlashStringHelper* lhsString,
587 const __FlashStringHelper* rhsString,
589 const __FlashStringHelper* errorString,
591 bool (*compareNear)(
double lhs,
double rhs,
double error));
Various macros to smooth over the differences among the various platforms with regards to their suppo...
An Assertion class is a subclass of Test and provides various overloaded assertion() functions.
bool assertionBool(const char *file, uint16_t line, bool arg, bool value)
Used by assertTrue() and assertFalse().
bool assertionBoolVerbose(const char *file, uint16_t line, bool arg, const __FlashStringHelper *argString, bool value)
Used by assertTrue() and assertFalse().
bool assertion(const char *file, uint16_t line, bool lhs, const char *opName, bool(*op)(bool lhs, bool rhs), bool rhs)
Used by assertXxx(bool, bool).
bool assertionNearVerbose(const char *file, uint16_t line, int lhs, const __FlashStringHelper *lhsString, int rhs, const __FlashStringHelper *rhsString, int error, const __FlashStringHelper *errorString, const char *opName, bool(*compareNear)(int lhs, int rhs, int error))
Used by assertNear(int, int).
Assertion()=default
Empty constructor.
bool isOutputEnabled(bool ok) const
Returns true if an assertion message should be printed.
bool assertionVerbose(const char *file, uint16_t line, bool lhs, const __FlashStringHelper *lhsString, const char *opName, bool(*op)(bool lhs, bool rhs), bool rhs, const __FlashStringHelper *rhsString)
Used by assertEqual(bool, bool).
bool assertionNear(const char *file, uint16_t line, int lhs, int rhs, int error, const char *opName, bool(*compareNear)(int lhs, int rhs, int error))
Used by assertNear(int, int).
Base class of all test cases.