AUnit  0.5.2
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Functions
Compare.h File Reference

This file provides overloaded compareXxx(a, b) functions which are used by the various assertXxx(a, b) macros. More...

#include <stddef.h>
Include dependency graph for Compare.h:
This graph shows which files directly or indirectly include this file:

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::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)
 

Detailed Description

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 type of 'a' could be any of the 3 string types, but 'b' can only (const char*) or (const __FlashStringHelper*) so only 6 combinations are implemented. In practice, the type of 'a' is also restricted to (const char*) or (const __FlashStringHelper*) so only 4 of these compareStringN() are actually used.

Definition in file Compare.h.

Function Documentation

◆ compareStringN() [1/6]

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 200 of file Compare.cpp.

◆ compareStringN() [2/6]

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 204 of file Compare.cpp.

◆ compareStringN() [3/6]

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 208 of file Compare.cpp.

◆ compareStringN() [4/6]

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 215 of file Compare.cpp.

◆ compareStringN() [5/6]

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 232 of file Compare.cpp.

◆ compareStringN() [6/6]

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 240 of file Compare.cpp.