AUnit
0.5.3
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
|
This file provides overloaded compareXxx(a, b) functions which are used by the various assertXxx(a, b) macros. More...
#include <stddef.h>
Go to the source code of this file.
Functions | |
int | aunit::internal::compareString (const char *a, const char *b) |
int | aunit::internal::compareString (const char *a, const String &b) |
int | aunit::internal::compareString (const char *a, const __FlashStringHelper *b) |
int | aunit::internal::compareString (const String &a, const char *b) |
int | aunit::internal::compareString (const String &a, const String &b) |
int | aunit::internal::compareString (const String &a, const __FlashStringHelper *b) |
int | aunit::internal::compareString (const __FlashStringHelper *a, const char *b) |
int | aunit::internal::compareString (const __FlashStringHelper *a, const __FlashStringHelper *b) |
int | aunit::internal::compareString (const __FlashStringHelper *a, const String &b) |
int | aunit::internal::compareString (const FCString &a, const FCString &b) |
int | aunit::internal::compareStringCase (const char *a, const char *b) |
int | aunit::internal::compareStringCase (const char *a, const String &b) |
int | aunit::internal::compareStringCase (const char *a, const __FlashStringHelper *b) |
int | aunit::internal::compareStringCase (const String &a, const char *b) |
int | aunit::internal::compareStringCase (const String &a, const String &b) |
int | aunit::internal::compareStringCase (const String &a, const __FlashStringHelper *b) |
int | aunit::internal::compareStringCase (const __FlashStringHelper *a, const char *b) |
int | aunit::internal::compareStringCase (const __FlashStringHelper *a, const __FlashStringHelper *b) |
int | aunit::internal::compareStringCase (const __FlashStringHelper *a, const String &b) |
int | aunit::internal::compareStringCase (const FCString &a, const FCString &b) |
int | aunit::internal::compareStringN (const char *a, const char *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
int | aunit::internal::compareStringN (const char *a, const __FlashStringHelper *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
int | aunit::internal::compareStringN (const __FlashStringHelper *a, const char *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
int | aunit::internal::compareStringN (const __FlashStringHelper *a, const __FlashStringHelper *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
int | aunit::internal::compareStringN (const FCString &a, const char *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
int | aunit::internal::compareStringN (const FCString &a, const __FlashStringHelper *b, size_t n) |
Compare only the first n characters of 'a' or 'b'. More... | |
bool | aunit::internal::compareEqual (bool a, bool b) |
bool | aunit::internal::compareEqual (char a, char b) |
bool | aunit::internal::compareEqual (int a, int b) |
bool | aunit::internal::compareEqual (unsigned int a, unsigned int b) |
bool | aunit::internal::compareEqual (long a, long b) |
bool | aunit::internal::compareEqual (unsigned long a, unsigned long b) |
bool | aunit::internal::compareEqual (double a, double b) |
bool | aunit::internal::compareEqual (const char *a, const char *b) |
bool | aunit::internal::compareEqual (const char *a, const String &b) |
bool | aunit::internal::compareEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareEqual (const String &a, const char *b) |
bool | aunit::internal::compareEqual (const String &a, const String &b) |
bool | aunit::internal::compareEqual (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLess (bool a, bool b) |
bool | aunit::internal::compareLess (char a, char b) |
bool | aunit::internal::compareLess (int a, int b) |
bool | aunit::internal::compareLess (unsigned int a, unsigned int b) |
bool | aunit::internal::compareLess (long a, long b) |
bool | aunit::internal::compareLess (unsigned long a, unsigned long b) |
bool | aunit::internal::compareLess (double a, double b) |
bool | aunit::internal::compareLess (const char *a, const char *b) |
bool | aunit::internal::compareLess (const char *a, const String &b) |
bool | aunit::internal::compareLess (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLess (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareLess (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLess (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareLess (const String &a, const char *b) |
bool | aunit::internal::compareLess (const String &a, const String &b) |
bool | aunit::internal::compareLess (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMore (bool a, bool b) |
bool | aunit::internal::compareMore (char a, char b) |
bool | aunit::internal::compareMore (int a, int b) |
bool | aunit::internal::compareMore (unsigned int a, unsigned int b) |
bool | aunit::internal::compareMore (long a, long b) |
bool | aunit::internal::compareMore (unsigned long a, unsigned long b) |
bool | aunit::internal::compareMore (double a, double b) |
bool | aunit::internal::compareMore (const char *a, const char *b) |
bool | aunit::internal::compareMore (const char *a, const String &b) |
bool | aunit::internal::compareMore (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMore (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareMore (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMore (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareMore (const String &a, const char *b) |
bool | aunit::internal::compareMore (const String &a, const String &b) |
bool | aunit::internal::compareMore (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLessOrEqual (bool a, bool b) |
bool | aunit::internal::compareLessOrEqual (char a, char b) |
bool | aunit::internal::compareLessOrEqual (int a, int b) |
bool | aunit::internal::compareLessOrEqual (unsigned int a, unsigned int b) |
bool | aunit::internal::compareLessOrEqual (long a, long b) |
bool | aunit::internal::compareLessOrEqual (unsigned long a, unsigned long b) |
bool | aunit::internal::compareLessOrEqual (double a, double b) |
bool | aunit::internal::compareLessOrEqual (const char *a, const char *b) |
bool | aunit::internal::compareLessOrEqual (const char *a, const String &b) |
bool | aunit::internal::compareLessOrEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLessOrEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareLessOrEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareLessOrEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareLessOrEqual (const String &a, const char *b) |
bool | aunit::internal::compareLessOrEqual (const String &a, const String &b) |
bool | aunit::internal::compareLessOrEqual (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMoreOrEqual (bool a, bool b) |
bool | aunit::internal::compareMoreOrEqual (char a, char b) |
bool | aunit::internal::compareMoreOrEqual (int a, int b) |
bool | aunit::internal::compareMoreOrEqual (unsigned int a, unsigned int b) |
bool | aunit::internal::compareMoreOrEqual (long a, long b) |
bool | aunit::internal::compareMoreOrEqual (unsigned long a, unsigned long b) |
bool | aunit::internal::compareMoreOrEqual (double a, double b) |
bool | aunit::internal::compareMoreOrEqual (const char *a, const char *b) |
bool | aunit::internal::compareMoreOrEqual (const char *a, const String &b) |
bool | aunit::internal::compareMoreOrEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMoreOrEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareMoreOrEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareMoreOrEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareMoreOrEqual (const String &a, const char *b) |
bool | aunit::internal::compareMoreOrEqual (const String &a, const String &b) |
bool | aunit::internal::compareMoreOrEqual (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareNotEqual (bool a, bool b) |
bool | aunit::internal::compareNotEqual (char a, char b) |
bool | aunit::internal::compareNotEqual (int a, int b) |
bool | aunit::internal::compareNotEqual (unsigned int a, unsigned int b) |
bool | aunit::internal::compareNotEqual (long a, long b) |
bool | aunit::internal::compareNotEqual (unsigned long a, unsigned long b) |
bool | aunit::internal::compareNotEqual (double a, double b) |
bool | aunit::internal::compareNotEqual (const char *a, const char *b) |
bool | aunit::internal::compareNotEqual (const char *a, const String &b) |
bool | aunit::internal::compareNotEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareNotEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareNotEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareNotEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareNotEqual (const String &a, const char *b) |
bool | aunit::internal::compareNotEqual (const String &a, const String &b) |
bool | aunit::internal::compareNotEqual (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseEqual (const char *a, const char *b) |
bool | aunit::internal::compareStringCaseEqual (const char *a, const String &b) |
bool | aunit::internal::compareStringCaseEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareStringCaseEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareStringCaseEqual (const String &a, const char *b) |
bool | aunit::internal::compareStringCaseEqual (const String &a, const String &b) |
bool | aunit::internal::compareStringCaseEqual (const String &a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseNotEqual (const char *a, const char *b) |
bool | aunit::internal::compareStringCaseNotEqual (const char *a, const String &b) |
bool | aunit::internal::compareStringCaseNotEqual (const char *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseNotEqual (const __FlashStringHelper *a, const char *b) |
bool | aunit::internal::compareStringCaseNotEqual (const __FlashStringHelper *a, const __FlashStringHelper *b) |
bool | aunit::internal::compareStringCaseNotEqual (const __FlashStringHelper *a, const String &b) |
bool | aunit::internal::compareStringCaseNotEqual (const String &a, const char *b) |
bool | aunit::internal::compareStringCaseNotEqual (const String &a, const String &b) |
bool | aunit::internal::compareStringCaseNotEqual (const String &a, const __FlashStringHelper *b) |
This file provides overloaded compareXxx(a, b) functions which are used by the various assertXxx(a, b) macros.
We wanted to allow users to use the assertXxx() macros with all combinations of the 3 types of strings available in the Arduino platform:
Clearly, there are 9 binary combinations these string types, so we define 9 compareString(a, b) functions.
For other primitive types, I depend on implicit conversion rules to reduce the overloaded types to 7:
Therefore, there are 16 overloaded versions of each of the compareXxx(a, b) functions.
There are 6 compareXxx() functions corresponding to (==, !=, <, >, <=, >=). Many of them are implemented using the primitive logical operators for the respective primitive types. The compare functions for string types are implemented using compareString().
The compareStringN(a, b) functions are used only to implement the TestRunner::include() and TestRunner::exclude() functions. The supported types of 'a' and 'b' only need to be (const char*) or (const __FlashStringHelper*) so we get 4 combinations. Two more versions of compareStringN() are required to support FCString types for 'a'. That makes a total of 6.
All versions of compareString() and compareStringN() accept nullptr arguments (in constrast to strcmp() and strncmp() where their behavior for nullptr are undefined by the C standard.) If both arguments are nullptr, then the strings are considered equal (returns 0). Otherwise, the nullptr is arbitrarily defined to be less than all non-null strings, including the empty string.
Definition in file Compare.h.
int aunit::internal::compareStringN | ( | const char * | a, |
const char * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 286 of file Compare.cpp.
int aunit::internal::compareStringN | ( | const char * | a, |
const __FlashStringHelper * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 293 of file Compare.cpp.
int aunit::internal::compareStringN | ( | const __FlashStringHelper * | a, |
const char * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 300 of file Compare.cpp.
int aunit::internal::compareStringN | ( | const __FlashStringHelper * | a, |
const __FlashStringHelper * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 307 of file Compare.cpp.
int aunit::internal::compareStringN | ( | const FCString & | a, |
const char * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 329 of file Compare.cpp.
int aunit::internal::compareStringN | ( | const FCString & | a, |
const __FlashStringHelper * | b, | ||
size_t | n | ||
) |
Compare only the first n characters of 'a' or 'b'.
Definition at line 337 of file Compare.cpp.