From fab4620f854f4e07f8779b2117be8534ed6c6d9c Mon Sep 17 00:00:00 2001 From: ayushiag882 <44777159+ayushiag882@users.noreply.github.com> Date: Fri, 2 Apr 2021 01:28:37 +0530 Subject: [PATCH 1/4] Update README.md --- .../programming_concpets/calculator_complex/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Example_Programs/programming_concpets/calculator_complex/README.md b/Example_Programs/programming_concpets/calculator_complex/README.md index fedb7550..012b563f 100644 --- a/Example_Programs/programming_concpets/calculator_complex/README.md +++ b/Example_Programs/programming_concpets/calculator_complex/README.md @@ -53,3 +53,4 @@ typedef struct complex_t { * By [Vivek Valagadri](https://github.com/vivekvalagadri/Stepin.git) * BY [Himanshu Kaushish 257170](https://github.com/Himanshu257170/Complex_Calcuator.git) * By [Milan Apegaonkar 255934](https://github.com/255934/Question1/tree/master/complex_calculator) +* By [Ayushi Agarwal 256145]( https://github.com/ayushiag882/LTTS-ASSIGNMENTS/tree/main/calculator_solution ) From 4e95119a99ddc1503a0122af726aaad9aa63819e Mon Sep 17 00:00:00 2001 From: ayushiag882 <44777159+ayushiag882@users.noreply.github.com> Date: Sun, 4 Apr 2021 14:16:06 +0530 Subject: [PATCH 2/4] Add files via upload --- solution_2a/Makefile | 25 + solution_2a/data.csv | 5 + solution_2a/inc/header.exe | Bin 0 -> 3855600 bytes solution_2a/inc/header.h | 70 + solution_2a/main.c | 53 + solution_2a/result.exe | Bin 0 -> 59556 bytes solution_2a/src/free_file.c | 5 + solution_2a/src/open_file.c | 11 + solution_2a/src/read_file.c | 6 + solution_2a/src/sort_file.c | 15 + solution_2a/test_result.exe | Bin 0 -> 77725 bytes solution_2a/test_unity/test.c | 28 + solution_2a/test_unity/unity.c | 2111 ++++++++++++++++++++++ solution_2a/test_unity/unity.h | 661 +++++++ solution_2a/test_unity/unity_internals.h | 1033 +++++++++++ 15 files changed, 4023 insertions(+) create mode 100644 solution_2a/Makefile create mode 100644 solution_2a/data.csv create mode 100644 solution_2a/inc/header.exe create mode 100644 solution_2a/inc/header.h create mode 100644 solution_2a/main.c create mode 100644 solution_2a/result.exe create mode 100644 solution_2a/src/free_file.c create mode 100644 solution_2a/src/open_file.c create mode 100644 solution_2a/src/read_file.c create mode 100644 solution_2a/src/sort_file.c create mode 100644 solution_2a/test_result.exe create mode 100644 solution_2a/test_unity/test.c create mode 100644 solution_2a/test_unity/unity.c create mode 100644 solution_2a/test_unity/unity.h create mode 100644 solution_2a/test_unity/unity_internals.h diff --git a/solution_2a/Makefile b/solution_2a/Makefile new file mode 100644 index 00000000..303605dd --- /dev/null +++ b/solution_2a/Makefile @@ -0,0 +1,25 @@ +# comments + +#Target : dependancy +#Command + +var=result +src =src\open_file.c src\read_file.c src\free_file.c src\sort_file.c main.c inc\header.h +src_test=test_unity\test.c test_unity\unity.c test_unity\unity.h test_unity\unity_internals.h +INC_var=inc +$(var):$(src) + gcc $(src) -I$(INC_var) -o $(var) + +run:$(var) + $(var) + +static_check: + cppcheck --enable=all src/ .c inc/ .c + +rungo: + gcc -I$(INC_var) -I test_unity $(src_test) $(src) -o test_result + + + +clean: + del /q *.exe diff --git a/solution_2a/data.csv b/solution_2a/data.csv new file mode 100644 index 00000000..7ac65ee5 --- /dev/null +++ b/solution_2a/data.csv @@ -0,0 +1,5 @@ +Unity,Unityemail.com,https://github.com/ThrowTheSwitch/Unity.git +AyushiAgarwal,ayushiag882@gmail.com,https://github.com/ayushiag882 +User1,user1@gmail.com,https://github.com/user1 +User2,user2@gmail.com,https://github.com/user2 +Stepin,stepinemail.com,https://github.com/stepin654321/MiniProject_Template.git \ No newline at end of file diff --git a/solution_2a/inc/header.exe b/solution_2a/inc/header.exe new file mode 100644 index 0000000000000000000000000000000000000000..18daae5e3510a38b5a5de7b087accc4d43d8df52 GIT binary patch literal 3855600 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 I;{Nf4yA(2P@)< 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 hRk{quVMasNnvUQhX`_5N9iTd&t~9QmEa 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 z3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYU zuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St z@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y z0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa z74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!y zUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP z;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#) z0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy; zE8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZ zyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42p zz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp z1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLw zSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+ zcm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^H zfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI z3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYU zuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St z@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yKfeMG``*Yy+kbS$1#zYz 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

|^jo$Hvchvc% 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

KGXKo((v(l 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 z z`Ok09j`8nCwm-dTT&n)RRPYuWoBEZ?{PxrZI=k6PgQm)rk2ZMJ_tSC=hXhSpPiPX8d{l zHLjKM7ogJruS4yrNIp#K&({wek6WAtO{dJ|xzwGp3{;%hIv-bbDTiUz+;QnuLAfNru{kB<; z;y)w&U#{o>j<)|lC@lZk4*Q+U&Y1X5YyI5+O=+?H>w5Qv{yW_KPpQ8YqhI@<{WTN# zch&vR&)+>bo&PHyzFs$;8T@;|m*-y{62{kdSWh*E9~b{KQ|AB37V}>}|8ExPzYqH5 z`Jab|>DP8xe=SCTBmVdikN^1hPvZL1;Qd4L{HH%2Y>emI9{)Ymy#M3;uMzfd8=Tf6H&z|G60c*?7<{U4PO2r~}TT>t8Nw zcn~d}AL;vgyy_pme>K8`TAR&3WWW_BpSc} zan8r}{9jA!-<|s;&%f$+Um=ihHmCmYEAS6@`PFp%qK7a3--7sGgMS40vi=yz7dtH6mL`yIEdLwuk96ao zlHVD~=W2I>e-!wA`TY|q`6UmZ^TupR{{I&IW8C=P6W0FO4(s5u?BPq?wj%y_;2-P8 zKaekW7;MW*DBu46d+#lOqL*Kzv^{FA^R$^Bm-U)y2*(ND?aU)ImR{~3Ja>VG(;{?69U zKU2Uz#f|^?Fn*l=j`LgN{{sGL;Qw|1e>#5Ng_`d~Jv0S@iHZ z{$^Xs|KGqr%Z>ljVSKj3TrNuesKo7{x!LW{-)z^wj;Xj zA9)X7=S^?$F9m;`;yd}5Gq{+XiccNE&wtZ)xE=)$U)Os^@Gk>j#@}D3({GaasANW+ z|7QdLD)75zw*LQt_&)vG4(spq@b!D6=K%j2@CVOg`M-wg*LIj+^6=&TfA)Ym!N1<+ zN0n~Ze*@7pD^C2!eEL%3du@mLWe>l2Z}M6V)BMwRnBR3l?D@Ab zCDQM{?)-Vdzs2RxO8iMy=W^gjSZw0_@3Q}0+hKmqqrbd%cmDj~-|q4=-T8PmYE!

&*;(qo9_Q( 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 literal 0 HcmV?d00001 diff --git a/solution_2a/src/free_file.c b/solution_2a/src/free_file.c new file mode 100644 index 00000000..bf13f79e --- /dev/null +++ b/solution_2a/src/free_file.c @@ -0,0 +1,5 @@ +#include "header.h" + +void freeMemory(information *user){ + free(user); +} \ No newline at end of file diff --git a/solution_2a/src/open_file.c b/solution_2a/src/open_file.c new file mode 100644 index 00000000..c88d601a --- /dev/null +++ b/solution_2a/src/open_file.c @@ -0,0 +1,11 @@ +#include "header.h" + +error_handler fileOpen(char *fileaddr,char *mode, FILE **fptr){ + *fptr=fopen(fileaddr,mode); + if(fptr==NULL){ + return FAIL; + } + else{ + return SUCCESS; + } +} \ No newline at end of file diff --git a/solution_2a/src/read_file.c b/solution_2a/src/read_file.c new file mode 100644 index 00000000..01642817 --- /dev/null +++ b/solution_2a/src/read_file.c @@ -0,0 +1,6 @@ +#include "header.h" +#include + +int fileRead(FILE **fptr, char *buffer){ + return fscanf(*fptr,"%s",buffer); +} \ No newline at end of file diff --git a/solution_2a/src/sort_file.c b/solution_2a/src/sort_file.c new file mode 100644 index 00000000..aa5ec9fb --- /dev/null +++ b/solution_2a/src/sort_file.c @@ -0,0 +1,15 @@ + +#include "header.h" + +int comparator(const void *user1,const void *user2){ + + return strcmp(((information*)user1)->name,((information*)user2)->name); + +} + +void sort(information *arr){ + if(arr==NULL){ + return; + } + qsort(arr,5,sizeof(information),comparator); +} \ No newline at end of file diff --git a/solution_2a/test_result.exe b/solution_2a/test_result.exe new file mode 100644 index 0000000000000000000000000000000000000000..561c2b71cc361f19235f9585ef8abde60a621b5d GIT binary patch literal 77725 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]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 + +#ifdef AVR +#include +#else +#define PROGMEM +#endif + +/* If omitted from header, declare overrideable prototypes here so they're ready for use */ +#ifdef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION +void UNITY_OUTPUT_CHAR(int); +#endif + +/* Helpful macros for us to use here in Assert functions */ +#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } +#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } +#define RETURN_IF_FAIL_OR_IGNORE if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) TEST_ABORT() + +struct UNITY_STORAGE_T Unity; + +#ifdef UNITY_OUTPUT_COLOR +const char PROGMEM UnityStrOk[] = "\033[42mOK\033[00m"; +const char PROGMEM UnityStrPass[] = "\033[42mPASS\033[00m"; +const char PROGMEM UnityStrFail[] = "\033[41mFAIL\033[00m"; +const char PROGMEM UnityStrIgnore[] = "\033[43mIGNORE\033[00m"; +#else +const char PROGMEM UnityStrOk[] = "OK"; +const char PROGMEM UnityStrPass[] = "PASS"; +const char PROGMEM UnityStrFail[] = "FAIL"; +const char PROGMEM UnityStrIgnore[] = "IGNORE"; +#endif +static const char PROGMEM UnityStrNull[] = "NULL"; +static const char PROGMEM UnityStrSpacer[] = ". "; +static const char PROGMEM UnityStrExpected[] = " Expected "; +static const char PROGMEM UnityStrWas[] = " Was "; +static const char PROGMEM UnityStrGt[] = " to be greater than "; +static const char PROGMEM UnityStrLt[] = " to be less than "; +static const char PROGMEM UnityStrOrEqual[] = "or equal to "; +static const char PROGMEM UnityStrNotEqual[] = " to be not equal to "; +static const char PROGMEM UnityStrElement[] = " Element "; +static const char PROGMEM UnityStrByte[] = " Byte "; +static const char PROGMEM UnityStrMemory[] = " Memory Mismatch."; +static const char PROGMEM UnityStrDelta[] = " Values Not Within Delta "; +static const char PROGMEM UnityStrPointless[] = " You Asked Me To Compare Nothing, Which Was Pointless."; +static const char PROGMEM UnityStrNullPointerForExpected[] = " Expected pointer to be NULL"; +static const char PROGMEM UnityStrNullPointerForActual[] = " Actual pointer was NULL"; +#ifndef UNITY_EXCLUDE_FLOAT +static const char PROGMEM UnityStrNot[] = "Not "; +static const char PROGMEM UnityStrInf[] = "Infinity"; +static const char PROGMEM UnityStrNegInf[] = "Negative Infinity"; +static const char PROGMEM UnityStrNaN[] = "NaN"; +static const char PROGMEM UnityStrDet[] = "Determinate"; +static const char PROGMEM UnityStrInvalidFloatTrait[] = "Invalid Float Trait"; +#endif +const char PROGMEM UnityStrErrShorthand[] = "Unity Shorthand Support Disabled"; +const char PROGMEM UnityStrErrFloat[] = "Unity Floating Point Disabled"; +const char PROGMEM UnityStrErrDouble[] = "Unity Double Precision Disabled"; +const char PROGMEM UnityStrErr64[] = "Unity 64-bit Support Disabled"; +static const char PROGMEM UnityStrBreaker[] = "-----------------------"; +static const char PROGMEM UnityStrResultsTests[] = " Tests "; +static const char PROGMEM UnityStrResultsFailures[] = " Failures "; +static const char PROGMEM UnityStrResultsIgnored[] = " Ignored "; +static const char PROGMEM UnityStrDetail1Name[] = UNITY_DETAIL1_NAME " "; +static const char PROGMEM UnityStrDetail2Name[] = " " UNITY_DETAIL2_NAME " "; + +/*----------------------------------------------- + * Pretty Printers & Test Result Output Handlers + *-----------------------------------------------*/ + +/*-----------------------------------------------*/ +/* Local helper function to print characters. */ +static void UnityPrintChar(const char* pch) +{ + /* printable characters plus CR & LF are printed */ + if ((*pch <= 126) && (*pch >= 32)) + { + UNITY_OUTPUT_CHAR(*pch); + } + /* write escaped carriage returns */ + else if (*pch == 13) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('r'); + } + /* write escaped line feeds */ + else if (*pch == 10) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('n'); + } + /* unprintable characters are shown as codes */ + else + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('x'); + UnityPrintNumberHex((UNITY_UINT)*pch, 2); + } +} + +/*-----------------------------------------------*/ +/* Local helper function to print ANSI escape strings e.g. "\033[42m". */ +#ifdef UNITY_OUTPUT_COLOR +static UNITY_UINT UnityPrintAnsiEscapeString(const char* string) +{ + const char* pch = string; + UNITY_UINT count = 0; + + while (*pch && (*pch != 'm')) + { + UNITY_OUTPUT_CHAR(*pch); + pch++; + count++; + } + UNITY_OUTPUT_CHAR('m'); + count++; + + return count; +} +#endif + +/*-----------------------------------------------*/ +void UnityPrint(const char* string) +{ + const char* pch = string; + + if (pch != NULL) + { + while (*pch) + { +#ifdef UNITY_OUTPUT_COLOR + /* print ANSI escape code */ + if ((*pch == 27) && (*(pch + 1) == '[')) + { + pch += UnityPrintAnsiEscapeString(pch); + continue; + } +#endif + UnityPrintChar(pch); + pch++; + } + } +} +/*-----------------------------------------------*/ +void UnityPrintLen(const char* string, const UNITY_UINT32 length) +{ + const char* pch = string; + + if (pch != NULL) + { + while (*pch && ((UNITY_UINT32)(pch - string) < length)) + { + /* printable characters plus CR & LF are printed */ + if ((*pch <= 126) && (*pch >= 32)) + { + UNITY_OUTPUT_CHAR(*pch); + } + /* write escaped carriage returns */ + else if (*pch == 13) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('r'); + } + /* write escaped line feeds */ + else if (*pch == 10) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('n'); + } + /* unprintable characters are shown as codes */ + else + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('x'); + UnityPrintNumberHex((UNITY_UINT)*pch, 2); + } + pch++; + } + } +} + +/*-----------------------------------------------*/ +void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style) +{ + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + if (style == UNITY_DISPLAY_STYLE_CHAR) + { + /* printable characters plus CR & LF are printed */ + UNITY_OUTPUT_CHAR('\''); + if ((number <= 126) && (number >= 32)) + { + UNITY_OUTPUT_CHAR((int)number); + } + /* write escaped carriage returns */ + else if (number == 13) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('r'); + } + /* write escaped line feeds */ + else if (number == 10) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('n'); + } + /* unprintable characters are shown as codes */ + else + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('x'); + UnityPrintNumberHex((UNITY_UINT)number, 2); + } + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrintNumber(number); + } + } + else if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT) + { + UnityPrintNumberUnsigned((UNITY_UINT)number); + } + else + { + UNITY_OUTPUT_CHAR('0'); + UNITY_OUTPUT_CHAR('x'); + UnityPrintNumberHex((UNITY_UINT)number, (char)((style & 0xF) * 2)); + } +} + +/*-----------------------------------------------*/ +void UnityPrintNumber(const UNITY_INT number_to_print) +{ + UNITY_UINT number = (UNITY_UINT)number_to_print; + + if (number_to_print < 0) + { + /* A negative number, including MIN negative */ + UNITY_OUTPUT_CHAR('-'); + number = (~number) + 1; + } + UnityPrintNumberUnsigned(number); +} + +/*----------------------------------------------- + * basically do an itoa using as little ram as possible */ +void UnityPrintNumberUnsigned(const UNITY_UINT number) +{ + UNITY_UINT divisor = 1; + + /* figure out initial divisor */ + while (number / divisor > 9) + { + divisor *= 10; + } + + /* now mod and print, then divide divisor */ + do + { + UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); + divisor /= 10; + } while (divisor > 0); +} + +/*-----------------------------------------------*/ +void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print) +{ + int nibble; + char nibbles = nibbles_to_print; + + if ((unsigned)nibbles > UNITY_MAX_NIBBLES) + { + nibbles = UNITY_MAX_NIBBLES; + } + + while (nibbles > 0) + { + nibbles--; + nibble = (int)(number >> (nibbles * 4)) & 0x0F; + if (nibble <= 9) + { + UNITY_OUTPUT_CHAR((char)('0' + nibble)); + } + else + { + UNITY_OUTPUT_CHAR((char)('A' - 10 + nibble)); + } + } +} + +/*-----------------------------------------------*/ +void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number) +{ + UNITY_UINT current_bit = (UNITY_UINT)1 << (UNITY_INT_WIDTH - 1); + UNITY_INT32 i; + + for (i = 0; i < UNITY_INT_WIDTH; i++) + { + if (current_bit & mask) + { + if (current_bit & number) + { + UNITY_OUTPUT_CHAR('1'); + } + else + { + UNITY_OUTPUT_CHAR('0'); + } + } + else + { + UNITY_OUTPUT_CHAR('X'); + } + current_bit = current_bit >> 1; + } +} + +/*-----------------------------------------------*/ +#ifndef UNITY_EXCLUDE_FLOAT_PRINT +/* + * This function prints a floating-point value in a format similar to + * printf("%.7g") on a single-precision machine or printf("%.9g") on a + * double-precision machine. The 7th digit won't always be totally correct + * in single-precision operation (for that level of accuracy, a more + * complicated algorithm would be needed). + */ +void UnityPrintFloat(const UNITY_DOUBLE input_number) +{ +#ifdef UNITY_INCLUDE_DOUBLE + static const int sig_digits = 9; + static const UNITY_INT32 min_scaled = 100000000; + static const UNITY_INT32 max_scaled = 1000000000; +#else + static const int sig_digits = 7; + static const UNITY_INT32 min_scaled = 1000000; + static const UNITY_INT32 max_scaled = 10000000; +#endif + + UNITY_DOUBLE number = input_number; + + /* print minus sign (does not handle negative zero) */ + if (number < 0.0f) + { + UNITY_OUTPUT_CHAR('-'); + number = -number; + } + + /* handle zero, NaN, and +/- infinity */ + if (number == 0.0f) + { + UnityPrint("0"); + } + else if (isnan(number)) + { + UnityPrint("nan"); + } + else if (isinf(number)) + { + UnityPrint("inf"); + } + else + { + UNITY_INT32 n_int = 0, n; + int exponent = 0; + int decimals, digits; + char buf[16] = {0}; + + /* + * Scale up or down by powers of 10. To minimize rounding error, + * start with a factor/divisor of 10^10, which is the largest + * power of 10 that can be represented exactly. Finally, compute + * (exactly) the remaining power of 10 and perform one more + * multiplication or division. + */ + if (number < 1.0f) + { + UNITY_DOUBLE factor = 1.0f; + + while (number < (UNITY_DOUBLE)max_scaled / 1e10f) { number *= 1e10f; exponent -= 10; } + while (number * factor < (UNITY_DOUBLE)min_scaled) { factor *= 10.0f; exponent--; } + + number *= factor; + } + else if (number > (UNITY_DOUBLE)max_scaled) + { + UNITY_DOUBLE divisor = 1.0f; + + while (number > (UNITY_DOUBLE)min_scaled * 1e10f) { number /= 1e10f; exponent += 10; } + while (number / divisor > (UNITY_DOUBLE)max_scaled) { divisor *= 10.0f; exponent++; } + + number /= divisor; + } + else + { + /* + * In this range, we can split off the integer part before + * doing any multiplications. This reduces rounding error by + * freeing up significant bits in the fractional part. + */ + UNITY_DOUBLE factor = 1.0f; + n_int = (UNITY_INT32)number; + number -= (UNITY_DOUBLE)n_int; + + while (n_int < min_scaled) { n_int *= 10; factor *= 10.0f; exponent--; } + + number *= factor; + } + + /* round to nearest integer */ + n = ((UNITY_INT32)(number + number) + 1) / 2; + +#ifndef UNITY_ROUND_TIES_AWAY_FROM_ZERO + /* round to even if exactly between two integers */ + if ((n & 1) && (((UNITY_DOUBLE)n - number) == 0.5f)) + n--; +#endif + + n += n_int; + + if (n >= max_scaled) + { + n = min_scaled; + exponent++; + } + + /* determine where to place decimal point */ + decimals = ((exponent <= 0) && (exponent >= -(sig_digits + 3))) ? (-exponent) : (sig_digits - 1); + exponent += decimals; + + /* truncate trailing zeroes after decimal point */ + while ((decimals > 0) && ((n % 10) == 0)) + { + n /= 10; + decimals--; + } + + /* build up buffer in reverse order */ + digits = 0; + while ((n != 0) || (digits < (decimals + 1))) + { + buf[digits++] = (char)('0' + n % 10); + n /= 10; + } + while (digits > 0) + { + if (digits == decimals) { UNITY_OUTPUT_CHAR('.'); } + UNITY_OUTPUT_CHAR(buf[--digits]); + } + + /* print exponent if needed */ + if (exponent != 0) + { + UNITY_OUTPUT_CHAR('e'); + + if (exponent < 0) + { + UNITY_OUTPUT_CHAR('-'); + exponent = -exponent; + } + else + { + UNITY_OUTPUT_CHAR('+'); + } + + digits = 0; + while ((exponent != 0) || (digits < 2)) + { + buf[digits++] = (char)('0' + exponent % 10); + exponent /= 10; + } + while (digits > 0) + { + UNITY_OUTPUT_CHAR(buf[--digits]); + } + } + } +} +#endif /* ! UNITY_EXCLUDE_FLOAT_PRINT */ + +/*-----------------------------------------------*/ +static void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE line) +{ +#ifdef UNITY_OUTPUT_FOR_ECLIPSE + UNITY_OUTPUT_CHAR('('); + UnityPrint(file); + UNITY_OUTPUT_CHAR(':'); + UnityPrintNumber((UNITY_INT)line); + UNITY_OUTPUT_CHAR(')'); + UNITY_OUTPUT_CHAR(' '); + UnityPrint(Unity.CurrentTestName); + UNITY_OUTPUT_CHAR(':'); +#else +#ifdef UNITY_OUTPUT_FOR_IAR_WORKBENCH + UnityPrint("'); + UnityPrint(Unity.CurrentTestName); + UnityPrint(" "); +#else +#ifdef UNITY_OUTPUT_FOR_QT_CREATOR + UnityPrint("file://"); + UnityPrint(file); + UNITY_OUTPUT_CHAR(':'); + UnityPrintNumber((UNITY_INT)line); + UNITY_OUTPUT_CHAR(' '); + UnityPrint(Unity.CurrentTestName); + UNITY_OUTPUT_CHAR(':'); +#else + UnityPrint(file); + UNITY_OUTPUT_CHAR(':'); + UnityPrintNumber((UNITY_INT)line); + UNITY_OUTPUT_CHAR(':'); + UnityPrint(Unity.CurrentTestName); + UNITY_OUTPUT_CHAR(':'); +#endif +#endif +#endif +} + +/*-----------------------------------------------*/ +static void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line) +{ + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint(UnityStrFail); + UNITY_OUTPUT_CHAR(':'); +} + +/*-----------------------------------------------*/ +void UnityConcludeTest(void) +{ + if (Unity.CurrentTestIgnored) + { + Unity.TestIgnores++; + } + else if (!Unity.CurrentTestFailed) + { + UnityTestResultsBegin(Unity.TestFile, Unity.CurrentTestLineNumber); + UnityPrint(UnityStrPass); + } + else + { + Unity.TestFailures++; + } + + Unity.CurrentTestFailed = 0; + Unity.CurrentTestIgnored = 0; + UNITY_PRINT_EXEC_TIME(); + UNITY_PRINT_EOL(); + UNITY_FLUSH_CALL(); +} + +/*-----------------------------------------------*/ +static void UnityAddMsgIfSpecified(const char* msg) +{ + if (msg) + { + UnityPrint(UnityStrSpacer); + +#ifdef UNITY_PRINT_TEST_CONTEXT + UNITY_PRINT_TEST_CONTEXT(); +#endif +#ifndef UNITY_EXCLUDE_DETAILS + if (Unity.CurrentDetail1) + { + UnityPrint(UnityStrDetail1Name); + UnityPrint(Unity.CurrentDetail1); + if (Unity.CurrentDetail2) + { + UnityPrint(UnityStrDetail2Name); + UnityPrint(Unity.CurrentDetail2); + } + UnityPrint(UnityStrSpacer); + } +#endif + UnityPrint(msg); + } +} + +/*-----------------------------------------------*/ +static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) +{ + UnityPrint(UnityStrExpected); + if (expected != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrint(expected); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } + UnityPrint(UnityStrWas); + if (actual != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrint(actual); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } +} + +/*-----------------------------------------------*/ +static void UnityPrintExpectedAndActualStringsLen(const char* expected, + const char* actual, + const UNITY_UINT32 length) +{ + UnityPrint(UnityStrExpected); + if (expected != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrintLen(expected, length); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } + UnityPrint(UnityStrWas); + if (actual != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrintLen(actual, length); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } +} + +/*----------------------------------------------- + * Assertion & Control Helpers + *-----------------------------------------------*/ + +/*-----------------------------------------------*/ +static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_LINE_TYPE lineNumber, + const char* msg) +{ + /* Both are NULL or same pointer */ + if (expected == actual) { return 0; } + + /* print and return true if just expected is NULL */ + if (expected == NULL) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrNullPointerForExpected); + UnityAddMsgIfSpecified(msg); + return 1; + } + + /* print and return true if just actual is NULL */ + if (actual == NULL) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrNullPointerForActual); + UnityAddMsgIfSpecified(msg); + return 1; + } + + return 0; /* return false if neither is NULL */ +} + +/*----------------------------------------------- + * Assertion Functions + *-----------------------------------------------*/ + +/*-----------------------------------------------*/ +void UnityAssertBits(const UNITY_INT mask, + const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + RETURN_IF_FAIL_OR_IGNORE; + + if ((mask & expected) != (mask & actual)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)expected); + UnityPrint(UnityStrWas); + UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertEqualNumber(const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + RETURN_IF_FAIL_OR_IGNORE; + + if (expected != actual) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expected, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, + const UNITY_INT actual, + const UNITY_COMPARISON_T compare, + const char *msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + int failed = 0; + RETURN_IF_FAIL_OR_IGNORE; + + if ((threshold == actual) && (compare & UNITY_EQUAL_TO)) { return; } + if ((threshold == actual)) { failed = 1; } + + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } + if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } + } + else /* UINT or HEX */ + { + if (((UNITY_UINT)actual > (UNITY_UINT)threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } + if (((UNITY_UINT)actual < (UNITY_UINT)threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } + } + + if (failed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(actual, style); + if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt); } + if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt); } + if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); } + if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); } + UnityPrintNumberByStyle(threshold, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +#define UnityPrintPointlessAndBail() \ +{ \ + UnityTestResultsFailBegin(lineNumber); \ + UnityPrint(UnityStrPointless); \ + UnityAddMsgIfSpecified(msg); \ + UNITY_FAIL_AND_BAIL; } + +/*-----------------------------------------------*/ +void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags) +{ + UNITY_UINT32 elements = num_elements; + unsigned int length = style & 0xF; + unsigned int increment = 0; + + RETURN_IF_FAIL_OR_IGNORE; + + if (num_elements == 0) + { + UnityPrintPointlessAndBail(); + } + + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + while ((elements > 0) && (elements--)) + { + UNITY_INT expect_val; + UNITY_INT actual_val; + + switch (length) + { + case 1: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; + increment = sizeof(UNITY_INT8); + break; + + case 2: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; + increment = sizeof(UNITY_INT16); + break; + +#ifdef UNITY_SUPPORT_64 + case 8: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; + increment = sizeof(UNITY_INT64); + break; +#endif + + default: /* default is length 4 bytes */ + case 4: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; + increment = sizeof(UNITY_INT32); + length = 4; + break; + } + + if (expect_val != actual_val) + { + if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) + { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ + UNITY_INT mask = 1; + mask = (mask << 8 * length) - 1; + expect_val &= mask; + actual_val &= mask; + } + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expect_val, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual_val, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + /* Walk through array by incrementing the pointers */ + if (flags == UNITY_ARRAY_TO_ARRAY) + { + expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); + } + actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); + } +} + +/*-----------------------------------------------*/ +#ifndef UNITY_EXCLUDE_FLOAT +/* Wrap this define in a function with variable types as float or double */ +#define UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff) \ + if (isinf(expected) && isinf(actual) && (((expected) < 0) == ((actual) < 0))) return 1; \ + if (UNITY_NAN_CHECK) return 1; \ + (diff) = (actual) - (expected); \ + if ((diff) < 0) (diff) = -(diff); \ + if ((delta) < 0) (delta) = -(delta); \ + return !(isnan(diff) || isinf(diff) || ((diff) > (delta))) + /* This first part of this condition will catch any NaN or Infinite values */ +#ifndef UNITY_NAN_NOT_EQUAL_NAN + #define UNITY_NAN_CHECK isnan(expected) && isnan(actual) +#else + #define UNITY_NAN_CHECK 0 +#endif + +#ifndef UNITY_EXCLUDE_FLOAT_PRINT + #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ + { \ + UnityPrint(UnityStrExpected); \ + UnityPrintFloat(expected); \ + UnityPrint(UnityStrWas); \ + UnityPrintFloat(actual); } +#else + #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ + UnityPrint(UnityStrDelta) +#endif /* UNITY_EXCLUDE_FLOAT_PRINT */ + +/*-----------------------------------------------*/ +static int UnityFloatsWithin(UNITY_FLOAT delta, UNITY_FLOAT expected, UNITY_FLOAT actual) +{ + UNITY_FLOAT diff; + UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); +} + +/*-----------------------------------------------*/ +void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, + UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) +{ + UNITY_UINT32 elements = num_elements; + UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_expected = expected; + UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_actual = actual; + + RETURN_IF_FAIL_OR_IGNORE; + + if (elements == 0) + { + UnityPrintPointlessAndBail(); + } + + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + while (elements--) + { + if (!UnityFloatsWithin(*ptr_expected * UNITY_FLOAT_PRECISION, *ptr_expected, *ptr_actual)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)*ptr_expected, (UNITY_DOUBLE)*ptr_actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + if (flags == UNITY_ARRAY_TO_ARRAY) + { + ptr_expected++; + } + ptr_actual++; + } +} + +/*-----------------------------------------------*/ +void UnityAssertFloatsWithin(const UNITY_FLOAT delta, + const UNITY_FLOAT expected, + const UNITY_FLOAT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + RETURN_IF_FAIL_OR_IGNORE; + + + if (!UnityFloatsWithin(delta, expected, actual)) + { + UnityTestResultsFailBegin(lineNumber); + UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertFloatSpecial(const UNITY_FLOAT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLOAT_TRAIT_T style) +{ + const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; + UNITY_INT should_be_trait = ((UNITY_INT)style & 1); + UNITY_INT is_trait = !should_be_trait; + UNITY_INT trait_index = (UNITY_INT)(style >> 1); + + RETURN_IF_FAIL_OR_IGNORE; + + switch (style) + { + case UNITY_FLOAT_IS_INF: + case UNITY_FLOAT_IS_NOT_INF: + is_trait = isinf(actual) && (actual > 0); + break; + case UNITY_FLOAT_IS_NEG_INF: + case UNITY_FLOAT_IS_NOT_NEG_INF: + is_trait = isinf(actual) && (actual < 0); + break; + + case UNITY_FLOAT_IS_NAN: + case UNITY_FLOAT_IS_NOT_NAN: + is_trait = isnan(actual) ? 1 : 0; + break; + + case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ + case UNITY_FLOAT_IS_NOT_DET: + is_trait = !isinf(actual) && !isnan(actual); + break; + + case UNITY_FLOAT_INVALID_TRAIT: + default: + trait_index = 0; + trait_names[0] = UnityStrInvalidFloatTrait; + break; + } + + if (is_trait != should_be_trait) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + if (!should_be_trait) + { + UnityPrint(UnityStrNot); + } + UnityPrint(trait_names[trait_index]); + UnityPrint(UnityStrWas); +#ifndef UNITY_EXCLUDE_FLOAT_PRINT + UnityPrintFloat((UNITY_DOUBLE)actual); +#else + if (should_be_trait) + { + UnityPrint(UnityStrNot); + } + UnityPrint(trait_names[trait_index]); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +#endif /* not UNITY_EXCLUDE_FLOAT */ + +/*-----------------------------------------------*/ +#ifndef UNITY_EXCLUDE_DOUBLE +static int UnityDoublesWithin(UNITY_DOUBLE delta, UNITY_DOUBLE expected, UNITY_DOUBLE actual) +{ + UNITY_DOUBLE diff; + UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); +} + +/*-----------------------------------------------*/ +void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, + UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) +{ + UNITY_UINT32 elements = num_elements; + UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_expected = expected; + UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_actual = actual; + + RETURN_IF_FAIL_OR_IGNORE; + + if (elements == 0) + { + UnityPrintPointlessAndBail(); + } + + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + while (elements--) + { + if (!UnityDoublesWithin(*ptr_expected * UNITY_DOUBLE_PRECISION, *ptr_expected, *ptr_actual)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(*ptr_expected, *ptr_actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + if (flags == UNITY_ARRAY_TO_ARRAY) + { + ptr_expected++; + } + ptr_actual++; + } +} + +/*-----------------------------------------------*/ +void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, + const UNITY_DOUBLE expected, + const UNITY_DOUBLE actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + RETURN_IF_FAIL_OR_IGNORE; + + if (!UnityDoublesWithin(delta, expected, actual)) + { + UnityTestResultsFailBegin(lineNumber); + UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLOAT_TRAIT_T style) +{ + const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; + UNITY_INT should_be_trait = ((UNITY_INT)style & 1); + UNITY_INT is_trait = !should_be_trait; + UNITY_INT trait_index = (UNITY_INT)(style >> 1); + + RETURN_IF_FAIL_OR_IGNORE; + + switch (style) + { + case UNITY_FLOAT_IS_INF: + case UNITY_FLOAT_IS_NOT_INF: + is_trait = isinf(actual) && (actual > 0); + break; + case UNITY_FLOAT_IS_NEG_INF: + case UNITY_FLOAT_IS_NOT_NEG_INF: + is_trait = isinf(actual) && (actual < 0); + break; + + case UNITY_FLOAT_IS_NAN: + case UNITY_FLOAT_IS_NOT_NAN: + is_trait = isnan(actual) ? 1 : 0; + break; + + case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ + case UNITY_FLOAT_IS_NOT_DET: + is_trait = !isinf(actual) && !isnan(actual); + break; + + case UNITY_FLOAT_INVALID_TRAIT: + default: + trait_index = 0; + trait_names[0] = UnityStrInvalidFloatTrait; + break; + } + + if (is_trait != should_be_trait) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + if (!should_be_trait) + { + UnityPrint(UnityStrNot); + } + UnityPrint(trait_names[trait_index]); + UnityPrint(UnityStrWas); +#ifndef UNITY_EXCLUDE_FLOAT_PRINT + UnityPrintFloat(actual); +#else + if (should_be_trait) + { + UnityPrint(UnityStrNot); + } + UnityPrint(trait_names[trait_index]); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +#endif /* not UNITY_EXCLUDE_DOUBLE */ + +/*-----------------------------------------------*/ +void UnityAssertNumbersWithin(const UNITY_UINT delta, + const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + RETURN_IF_FAIL_OR_IGNORE; + + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + if (actual > expected) + { + Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); + } + else + { + Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); + } + } + else + { + if ((UNITY_UINT)actual > (UNITY_UINT)expected) + { + Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); + } + else + { + Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrDelta); + UnityPrintNumberByStyle((UNITY_INT)delta, style); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expected, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, + UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags) +{ + UNITY_UINT32 elements = num_elements; + unsigned int length = style & 0xF; + unsigned int increment = 0; + + RETURN_IF_FAIL_OR_IGNORE; + + if (num_elements == 0) + { + UnityPrintPointlessAndBail(); + } + + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + while ((elements > 0) && (elements--)) + { + UNITY_INT expect_val; + UNITY_INT actual_val; + + switch (length) + { + case 1: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; + increment = sizeof(UNITY_INT8); + break; + + case 2: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; + increment = sizeof(UNITY_INT16); + break; + +#ifdef UNITY_SUPPORT_64 + case 8: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; + increment = sizeof(UNITY_INT64); + break; +#endif + + default: /* default is length 4 bytes */ + case 4: + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; + increment = sizeof(UNITY_INT32); + length = 4; + break; + } + + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + if (actual_val > expect_val) + { + Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); + } + else + { + Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); + } + } + else + { + if ((UNITY_UINT)actual_val > (UNITY_UINT)expect_val) + { + Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); + } + else + { + Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); + } + } + + if (Unity.CurrentTestFailed) + { + if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) + { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ + UNITY_INT mask = 1; + mask = (mask << 8 * length) - 1; + expect_val &= mask; + actual_val &= mask; + } + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrDelta); + UnityPrintNumberByStyle((UNITY_INT)delta, style); + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expect_val, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual_val, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + /* Walk through array by incrementing the pointers */ + if (flags == UNITY_ARRAY_TO_ARRAY) + { + expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); + } + actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); + } +} + +/*-----------------------------------------------*/ +void UnityAssertEqualString(const char* expected, + const char* actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_UINT32 i; + + RETURN_IF_FAIL_OR_IGNORE; + + /* if both pointers not null compare the strings */ + if (expected && actual) + { + for (i = 0; expected[i] || actual[i]; i++) + { + if (expected[i] != actual[i]) + { + Unity.CurrentTestFailed = 1; + break; + } + } + } + else + { /* handle case of one pointers being null (if both null, test should pass) */ + if (expected != actual) + { + Unity.CurrentTestFailed = 1; + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrintExpectedAndActualStrings(expected, actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertEqualStringLen(const char* expected, + const char* actual, + const UNITY_UINT32 length, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_UINT32 i; + + RETURN_IF_FAIL_OR_IGNORE; + + /* if both pointers not null compare the strings */ + if (expected && actual) + { + for (i = 0; (i < length) && (expected[i] || actual[i]); i++) + { + if (expected[i] != actual[i]) + { + Unity.CurrentTestFailed = 1; + break; + } + } + } + else + { /* handle case of one pointers being null (if both null, test should pass) */ + if (expected != actual) + { + Unity.CurrentTestFailed = 1; + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrintExpectedAndActualStringsLen(expected, actual, length); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +/*-----------------------------------------------*/ +void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, + const char** actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) +{ + UNITY_UINT32 i = 0; + UNITY_UINT32 j = 0; + const char* expd = NULL; + const char* act = NULL; + + RETURN_IF_FAIL_OR_IGNORE; + + /* if no elements, it's an error */ + if (num_elements == 0) + { + UnityPrintPointlessAndBail(); + } + + if ((const void*)expected == (const void*)actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + if (flags != UNITY_ARRAY_TO_ARRAY) + { + expd = (const char*)expected; + } + + do + { + act = actual[j]; + if (flags == UNITY_ARRAY_TO_ARRAY) + { + expd = ((const char* const*)expected)[j]; + } + + /* if both pointers not null compare the strings */ + if (expd && act) + { + for (i = 0; expd[i] || act[i]; i++) + { + if (expd[i] != act[i]) + { + Unity.CurrentTestFailed = 1; + break; + } + } + } + else + { /* handle case of one pointers being null (if both null, test should pass) */ + if (expd != act) + { + Unity.CurrentTestFailed = 1; + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + if (num_elements > 1) + { + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(j); + } + UnityPrintExpectedAndActualStrings(expd, act); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + } while (++j < num_elements); +} + +/*-----------------------------------------------*/ +void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 length, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) +{ + UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; + UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; + UNITY_UINT32 elements = num_elements; + UNITY_UINT32 bytes; + + RETURN_IF_FAIL_OR_IGNORE; + + if ((elements == 0) || (length == 0)) + { + UnityPrintPointlessAndBail(); + } + + if (expected == actual) + { + return; /* Both are NULL or same pointer */ + } + + if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) + { + UNITY_FAIL_AND_BAIL; + } + + while (elements--) + { + bytes = length; + while (bytes--) + { + if (*ptr_exp != *ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrMemory); + if (num_elements > 1) + { + UnityPrint(UnityStrElement); + UnityPrintNumberUnsigned(num_elements - elements - 1); + } + UnityPrint(UnityStrByte); + UnityPrintNumberUnsigned(length - bytes - 1); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp++; + ptr_act++; + } + if (flags == UNITY_ARRAY_TO_VAL) + { + ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; + } + } +} + +/*-----------------------------------------------*/ + +static union +{ + UNITY_INT8 i8; + UNITY_INT16 i16; + UNITY_INT32 i32; +#ifdef UNITY_SUPPORT_64 + UNITY_INT64 i64; +#endif +#ifndef UNITY_EXCLUDE_FLOAT + float f; +#endif +#ifndef UNITY_EXCLUDE_DOUBLE + double d; +#endif +} UnityQuickCompare; + +UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size) +{ + switch(size) + { + case 1: + UnityQuickCompare.i8 = (UNITY_INT8)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i8); + + case 2: + UnityQuickCompare.i16 = (UNITY_INT16)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i16); + +#ifdef UNITY_SUPPORT_64 + case 8: + UnityQuickCompare.i64 = (UNITY_INT64)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i64); +#endif + + default: /* 4 bytes */ + UnityQuickCompare.i32 = (UNITY_INT32)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i32); + } +} + +#ifndef UNITY_EXCLUDE_FLOAT +/*-----------------------------------------------*/ +UNITY_INTERNAL_PTR UnityFloatToPtr(const float num) +{ + UnityQuickCompare.f = num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.f); +} +#endif + +#ifndef UNITY_EXCLUDE_DOUBLE +/*-----------------------------------------------*/ +UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num) +{ + UnityQuickCompare.d = num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.d); +} +#endif + +/*----------------------------------------------- + * printf helper function + *-----------------------------------------------*/ +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +static void UnityPrintFVA(const char* format, va_list va) +{ + const char* pch = format; + if (pch != NULL) + { + while (*pch) + { + /* format identification character */ + if (*pch == '%') + { + pch++; + + if (pch != NULL) + { + switch (*pch) + { + case 'd': + case 'i': + { + const int number = va_arg(va, int); + UnityPrintNumber((UNITY_INT)number); + break; + } +#ifndef UNITY_EXCLUDE_FLOAT_PRINT + case 'f': + case 'g': + { + const double number = va_arg(va, double); + UnityPrintFloat((UNITY_DOUBLE)number); + break; + } +#endif + case 'u': + { + const unsigned int number = va_arg(va, unsigned int); + UnityPrintNumberUnsigned((UNITY_UINT)number); + break; + } + case 'b': + { + const unsigned int number = va_arg(va, unsigned int); + const UNITY_UINT mask = (UNITY_UINT)0 - (UNITY_UINT)1; + UNITY_OUTPUT_CHAR('0'); + UNITY_OUTPUT_CHAR('b'); + UnityPrintMask(mask, (UNITY_UINT)number); + break; + } + case 'x': + case 'X': + case 'p': + { + const unsigned int number = va_arg(va, unsigned int); + UNITY_OUTPUT_CHAR('0'); + UNITY_OUTPUT_CHAR('x'); + UnityPrintNumberHex((UNITY_UINT)number, 8); + break; + } + case 'c': + { + const int ch = va_arg(va, int); + UnityPrintChar((const char *)&ch); + break; + } + case 's': + { + const char * string = va_arg(va, const char *); + UnityPrint(string); + break; + } + case '%': + { + UnityPrintChar(pch); + break; + } + default: + { + /* print the unknown format character */ + UNITY_OUTPUT_CHAR('%'); + UnityPrintChar(pch); + break; + } + } + } + } +#ifdef UNITY_OUTPUT_COLOR + /* print ANSI escape code */ + else if ((*pch == 27) && (*(pch + 1) == '[')) + { + pch += UnityPrintAnsiEscapeString(pch); + continue; + } +#endif + else if (*pch == '\n') + { + UNITY_PRINT_EOL(); + } + else + { + UnityPrintChar(pch); + } + + pch++; + } + } +} + +void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...) +{ + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint("INFO"); + if(format != NULL) + { + UnityPrint(": "); + va_list va; + va_start(va, format); + UnityPrintFVA(format, va); + va_end(va); + } + UNITY_PRINT_EOL(); +} +#endif /* ! UNITY_INCLUDE_PRINT_FORMATTED */ + + +/*----------------------------------------------- + * Control Functions + *-----------------------------------------------*/ + +/*-----------------------------------------------*/ +void UnityFail(const char* msg, const UNITY_LINE_TYPE line) +{ + RETURN_IF_FAIL_OR_IGNORE; + + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint(UnityStrFail); + if (msg != NULL) + { + UNITY_OUTPUT_CHAR(':'); + +#ifdef UNITY_PRINT_TEST_CONTEXT + UNITY_PRINT_TEST_CONTEXT(); +#endif +#ifndef UNITY_EXCLUDE_DETAILS + if (Unity.CurrentDetail1) + { + UnityPrint(UnityStrDetail1Name); + UnityPrint(Unity.CurrentDetail1); + if (Unity.CurrentDetail2) + { + UnityPrint(UnityStrDetail2Name); + UnityPrint(Unity.CurrentDetail2); + } + UnityPrint(UnityStrSpacer); + } +#endif + if (msg[0] != ' ') + { + UNITY_OUTPUT_CHAR(' '); + } + UnityPrint(msg); + } + + UNITY_FAIL_AND_BAIL; +} + +/*-----------------------------------------------*/ +void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) +{ + RETURN_IF_FAIL_OR_IGNORE; + + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint(UnityStrIgnore); + if (msg != NULL) + { + UNITY_OUTPUT_CHAR(':'); + UNITY_OUTPUT_CHAR(' '); + UnityPrint(msg); + } + UNITY_IGNORE_AND_BAIL; +} + +/*-----------------------------------------------*/ +void UnityMessage(const char* msg, const UNITY_LINE_TYPE line) +{ + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint("INFO"); + if (msg != NULL) + { + UNITY_OUTPUT_CHAR(':'); + UNITY_OUTPUT_CHAR(' '); + UnityPrint(msg); + } + UNITY_PRINT_EOL(); +} + +/*-----------------------------------------------*/ +/* If we have not defined our own test runner, then include our default test runner to make life easier */ +#ifndef UNITY_SKIP_DEFAULT_RUNNER +void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum) +{ + Unity.CurrentTestName = FuncName; + Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)FuncLineNum; + Unity.NumberOfTests++; + UNITY_CLR_DETAILS(); + UNITY_EXEC_TIME_START(); + if (TEST_PROTECT()) + { + setUp(); + Func(); + } + if (TEST_PROTECT()) + { + tearDown(); + } + UNITY_EXEC_TIME_STOP(); + UnityConcludeTest(); +} +#endif + +/*-----------------------------------------------*/ +void UnitySetTestFile(const char* filename) +{ + Unity.TestFile = filename; +} + +/*-----------------------------------------------*/ +void UnityBegin(const char* filename) +{ + Unity.TestFile = filename; + Unity.CurrentTestName = NULL; + Unity.CurrentTestLineNumber = 0; + Unity.NumberOfTests = 0; + Unity.TestFailures = 0; + Unity.TestIgnores = 0; + Unity.CurrentTestFailed = 0; + Unity.CurrentTestIgnored = 0; + + UNITY_CLR_DETAILS(); + UNITY_OUTPUT_START(); +} + +/*-----------------------------------------------*/ +int UnityEnd(void) +{ + UNITY_PRINT_EOL(); + UnityPrint(UnityStrBreaker); + UNITY_PRINT_EOL(); + UnityPrintNumber((UNITY_INT)(Unity.NumberOfTests)); + UnityPrint(UnityStrResultsTests); + UnityPrintNumber((UNITY_INT)(Unity.TestFailures)); + UnityPrint(UnityStrResultsFailures); + UnityPrintNumber((UNITY_INT)(Unity.TestIgnores)); + UnityPrint(UnityStrResultsIgnored); + UNITY_PRINT_EOL(); + if (Unity.TestFailures == 0U) + { + UnityPrint(UnityStrOk); + } + else + { + UnityPrint(UnityStrFail); +#ifdef UNITY_DIFFERENTIATE_FINAL_FAIL + UNITY_OUTPUT_CHAR('E'); UNITY_OUTPUT_CHAR('D'); +#endif + } + UNITY_PRINT_EOL(); + UNITY_FLUSH_CALL(); + UNITY_OUTPUT_COMPLETE(); + return (int)(Unity.TestFailures); +} + +/*----------------------------------------------- + * Command Line Argument Support + *-----------------------------------------------*/ +#ifdef UNITY_USE_COMMAND_LINE_ARGS + +char* UnityOptionIncludeNamed = NULL; +char* UnityOptionExcludeNamed = NULL; +int UnityVerbosity = 1; + +/*-----------------------------------------------*/ +int UnityParseOptions(int argc, char** argv) +{ + int i; + UnityOptionIncludeNamed = NULL; + UnityOptionExcludeNamed = NULL; + + for (i = 1; i < argc; i++) + { + if (argv[i][0] == '-') + { + switch (argv[i][1]) + { + case 'l': /* list tests */ + return -1; + case 'n': /* include tests with name including this string */ + case 'f': /* an alias for -n */ + if (argv[i][2] == '=') + { + UnityOptionIncludeNamed = &argv[i][3]; + } + else if (++i < argc) + { + UnityOptionIncludeNamed = argv[i]; + } + else + { + UnityPrint("ERROR: No Test String to Include Matches For"); + UNITY_PRINT_EOL(); + return 1; + } + break; + case 'q': /* quiet */ + UnityVerbosity = 0; + break; + case 'v': /* verbose */ + UnityVerbosity = 2; + break; + case 'x': /* exclude tests with name including this string */ + if (argv[i][2] == '=') + { + UnityOptionExcludeNamed = &argv[i][3]; + } + else if (++i < argc) + { + UnityOptionExcludeNamed = argv[i]; + } + else + { + UnityPrint("ERROR: No Test String to Exclude Matches For"); + UNITY_PRINT_EOL(); + return 1; + } + break; + default: + UnityPrint("ERROR: Unknown Option "); + UNITY_OUTPUT_CHAR(argv[i][1]); + UNITY_PRINT_EOL(); + return 1; + } + } + } + + return 0; +} + +/*-----------------------------------------------*/ +int IsStringInBiggerString(const char* longstring, const char* shortstring) +{ + const char* lptr = longstring; + const char* sptr = shortstring; + const char* lnext = lptr; + + if (*sptr == '*') + { + return 1; + } + + while (*lptr) + { + lnext = lptr + 1; + + /* If they current bytes match, go on to the next bytes */ + while (*lptr && *sptr && (*lptr == *sptr)) + { + lptr++; + sptr++; + + /* We're done if we match the entire string or up to a wildcard */ + if (*sptr == '*') + return 1; + if (*sptr == ',') + return 1; + if (*sptr == '"') + return 1; + if (*sptr == '\'') + return 1; + if (*sptr == ':') + return 2; + if (*sptr == 0) + return 1; + } + + /* Otherwise we start in the long pointer 1 character further and try again */ + lptr = lnext; + sptr = shortstring; + } + + return 0; +} + +/*-----------------------------------------------*/ +int UnityStringArgumentMatches(const char* str) +{ + int retval; + const char* ptr1; + const char* ptr2; + const char* ptrf; + + /* Go through the options and get the substrings for matching one at a time */ + ptr1 = str; + while (ptr1[0] != 0) + { + if ((ptr1[0] == '"') || (ptr1[0] == '\'')) + { + ptr1++; + } + + /* look for the start of the next partial */ + ptr2 = ptr1; + ptrf = 0; + do + { + ptr2++; + if ((ptr2[0] == ':') && (ptr2[1] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')) + { + ptrf = &ptr2[1]; + } + } while ((ptr2[0] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')); + + while ((ptr2[0] != 0) && ((ptr2[0] == ':') || (ptr2[0] == '\'') || (ptr2[0] == '"') || (ptr2[0] == ','))) + { + ptr2++; + } + + /* done if complete filename match */ + retval = IsStringInBiggerString(Unity.TestFile, ptr1); + if (retval == 1) + { + return retval; + } + + /* done if testname match after filename partial match */ + if ((retval == 2) && (ptrf != 0)) + { + if (IsStringInBiggerString(Unity.CurrentTestName, ptrf)) + { + return 1; + } + } + + /* done if complete testname match */ + if (IsStringInBiggerString(Unity.CurrentTestName, ptr1) == 1) + { + return 1; + } + + ptr1 = ptr2; + } + + /* we couldn't find a match for any substrings */ + return 0; +} + +/*-----------------------------------------------*/ +int UnityTestMatches(void) +{ + /* Check if this test name matches the included test pattern */ + int retval; + if (UnityOptionIncludeNamed) + { + retval = UnityStringArgumentMatches(UnityOptionIncludeNamed); + } + else + { + retval = 1; + } + + /* Check if this test name matches the excluded test pattern */ + if (UnityOptionExcludeNamed) + { + if (UnityStringArgumentMatches(UnityOptionExcludeNamed)) + { + retval = 0; + } + } + + return retval; +} + +#endif /* UNITY_USE_COMMAND_LINE_ARGS */ +/*-----------------------------------------------*/ diff --git a/solution_2a/test_unity/unity.h b/solution_2a/test_unity/unity.h new file mode 100644 index 00000000..7e3a70ab --- /dev/null +++ b/solution_2a/test_unity/unity.h @@ -0,0 +1,661 @@ +/* ========================================== + Unity Project - A Test Framework for C + Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams + [Released under MIT License. Please refer to license.txt for details] +========================================== */ + +#ifndef UNITY_FRAMEWORK_H +#define UNITY_FRAMEWORK_H +#define UNITY + +#define UNITY_VERSION_MAJOR 2 +#define UNITY_VERSION_MINOR 5 +#define UNITY_VERSION_BUILD 1 +#define UNITY_VERSION ((UNITY_VERSION_MAJOR << 16) | (UNITY_VERSION_MINOR << 8) | UNITY_VERSION_BUILD) + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "unity_internals.h" + +/*------------------------------------------------------- + * Test Setup / Teardown + *-------------------------------------------------------*/ + +/* These functions are intended to be called before and after each test. + * If using unity directly, these will need to be provided for each test + * executable built. If you are using the test runner generator and/or + * Ceedling, these are optional. */ +void setUp(void); +void tearDown(void); + +/* These functions are intended to be called at the beginning and end of an + * entire test suite. suiteTearDown() is passed the number of tests that + * failed, and its return value becomes the exit code of main(). If using + * Unity directly, you're in charge of calling these if they are desired. + * If using Ceedling or the test runner generator, these will be called + * automatically if they exist. */ +void suiteSetUp(void); +int suiteTearDown(int num_failures); + +/*------------------------------------------------------- + * Test Reset and Verify + *-------------------------------------------------------*/ + +/* These functions are intended to be called before during tests in order + * to support complex test loops, etc. Both are NOT built into Unity. Instead + * the test runner generator will create them. resetTest will run teardown and + * setup again, verifying any end-of-test needs between. verifyTest will only + * run the verification. */ +void resetTest(void); +void verifyTest(void); + +/*------------------------------------------------------- + * Configuration Options + *------------------------------------------------------- + * All options described below should be passed as a compiler flag to all files using Unity. If you must add #defines, place them BEFORE the #include above. + + * Integers/longs/pointers + * - Unity attempts to automatically discover your integer sizes + * - define UNITY_EXCLUDE_STDINT_H to stop attempting to look in + * - define UNITY_EXCLUDE_LIMITS_H to stop attempting to look in + * - If you cannot use the automatic methods above, you can force Unity by using these options: + * - define UNITY_SUPPORT_64 + * - set UNITY_INT_WIDTH + * - set UNITY_LONG_WIDTH + * - set UNITY_POINTER_WIDTH + + * Floats + * - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons + * - define UNITY_FLOAT_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_FLOAT + * - define UNITY_FLOAT_TYPE to specify doubles instead of single precision floats + * - define UNITY_INCLUDE_DOUBLE to allow double floating point comparisons + * - define UNITY_EXCLUDE_DOUBLE to disallow double floating point comparisons (default) + * - define UNITY_DOUBLE_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_DOUBLE + * - define UNITY_DOUBLE_TYPE to specify something other than double + * - define UNITY_EXCLUDE_FLOAT_PRINT to trim binary size, won't print floating point values in errors + + * Output + * - by default, Unity prints to standard out with putchar. define UNITY_OUTPUT_CHAR(a) with a different function if desired + * - define UNITY_DIFFERENTIATE_FINAL_FAIL to print FAILED (vs. FAIL) at test end summary - for automated search for failure + + * Optimization + * - by default, line numbers are stored in unsigned shorts. Define UNITY_LINE_TYPE with a different type if your files are huge + * - by default, test and failure counters are unsigned shorts. Define UNITY_COUNTER_TYPE with a different type if you want to save space or have more than 65535 Tests. + + * Test Cases + * - define UNITY_SUPPORT_TEST_CASES to include the TEST_CASE macro, though really it's mostly about the runner generator script + + * Parameterized Tests + * - you'll want to create a define of TEST_CASE(...) which basically evaluates to nothing + + * Tests with Arguments + * - you'll want to define UNITY_USE_COMMAND_LINE_ARGS if you have the test runner passing arguments to Unity + + *------------------------------------------------------- + * Basic Fail and Ignore + *-------------------------------------------------------*/ + +#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, (message)) +#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) +#define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, (message)) +#define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) +#define TEST_MESSAGE(message) UnityMessage((message), __LINE__) +#define TEST_ONLY() +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +#define TEST_PRINTF(message, ...) UnityPrintF(__LINE__, (message), __VA_ARGS__) +#endif + +/* It is not necessary for you to call PASS. A PASS condition is assumed if nothing fails. + * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ +#define TEST_PASS() TEST_ABORT() +#define TEST_PASS_MESSAGE(message) do { UnityMessage((message), __LINE__); TEST_ABORT(); } while(0) + +/* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out + * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ +#define TEST_FILE(a) + +/*------------------------------------------------------- + * Test Asserts (simple) + *-------------------------------------------------------*/ + +/* Boolean */ +#define TEST_ASSERT(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expression Evaluated To FALSE") +#define TEST_ASSERT_TRUE(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expected TRUE Was FALSE") +#define TEST_ASSERT_UNLESS(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expression Evaluated To TRUE") +#define TEST_ASSERT_FALSE(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expected FALSE Was TRUE") +#define TEST_ASSERT_NULL(pointer) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, " Expected NULL") +#define TEST_ASSERT_NOT_NULL(pointer) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, " Expected Non-NULL") +#define TEST_ASSERT_EMPTY(pointer) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, " Expected Empty") +#define TEST_ASSERT_NOT_EMPTY(pointer) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, " Expected Non-Empty") + +/* Integers (of all sizes) */ +#define TEST_ASSERT_EQUAL_INT(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_size_t(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX8(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX16(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX32(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX64(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_CHAR(expected, actual) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS(mask, expected, actual) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS_HIGH(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT)(-1), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS_LOW(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT)(0), (actual), __LINE__, NULL) +#define TEST_ASSERT_BIT_HIGH(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT)1 << (bit)), (UNITY_UINT)(-1), (actual), __LINE__, NULL) +#define TEST_ASSERT_BIT_LOW(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT)1 << (bit)), (UNITY_UINT)(0), (actual), __LINE__, NULL) + +/* Integer Not Equal To (of all sizes) */ +#define TEST_ASSERT_NOT_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) + +/* Integer Greater Than/ Less Than (of all sizes) */ +#define TEST_ASSERT_GREATER_THAN(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, NULL) + +#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, NULL) + +#define TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) + +#define TEST_ASSERT_LESS_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) +#define TEST_ASSERT_LESS_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) + +/* Integer Ranges (of all sizes) */ +#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_INT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_INT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_INT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_INT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_UINT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_UINT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_UINT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_UINT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_UINT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_size_t_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_HEX_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_HEX8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_HEX16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_HEX32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_HEX64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_CHAR_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, NULL) + +/* Integer Array Ranges (of all sizes) */ +#define TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_size_t_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_HEX_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) +#define TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) + + +/* Structs and Strings */ +#define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) + +/* Arrays */ +#define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_size_t_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) + +/* Arrays Compared To Single Value */ +#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_size_t(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, NULL) + +/* Floating Point (If Enabled) */ +#define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NOT_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, NULL) + +/* Double (If Enabled) */ +#define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NOT_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, NULL) + +/* Shorthand */ +#ifdef UNITY_SHORTHAND_AS_OLD +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") +#endif +#ifdef UNITY_SHORTHAND_AS_INT +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_MEM +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_RAW +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, " Expected Equal") +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") +#endif +#ifdef UNITY_SHORTHAND_AS_NONE +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif + +/*------------------------------------------------------- + * Test Asserts (with additional messages) + *-------------------------------------------------------*/ + +/* Boolean */ +#define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) +#define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) +#define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) +#define TEST_ASSERT_FALSE_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) +#define TEST_ASSERT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, (message)) +#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, (message)) +#define TEST_ASSERT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, (message)) +#define TEST_ASSERT_NOT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, (message)) + +/* Integers (of all sizes) */ +#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_size_t_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) +#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) +#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) +#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) + +/* Integer Not Equal To (of all sizes) */ +#define TEST_ASSERT_NOT_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) + + +/* Integer Greater Than/ Less Than (of all sizes) */ +#define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, (message)) + +#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, (message)) + +#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) + +#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) +#define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) + +/* Integer Ranges (of all sizes) */ +#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_size_t_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, (message)) + +/* Integer Array Ranges (of all sizes) */ +#define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_INT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_UINT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_size_t_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_HEX_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) +#define TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) + + +/* Structs and Strings */ +#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) + +/* Arrays */ +#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_size_t_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_CHAR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) + +/* Arrays Compared To Single Value*/ +#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_size_t_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_CHAR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, (message)) + +/* Floating Point (If Enabled) */ +#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, (message)) +#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, (message)) + +/* Double (If Enabled) */ +#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, (message)) +#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) + +/* Shorthand */ +#ifdef UNITY_SHORTHAND_AS_OLD +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, (message)) +#endif +#ifdef UNITY_SHORTHAND_AS_INT +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, message) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_MEM +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, message) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif +#ifdef UNITY_SHORTHAND_AS_RAW +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, message) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, message) +#endif +#ifdef UNITY_SHORTHAND_AS_NONE +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) +#endif + +/* end of UNITY_FRAMEWORK_H */ +#ifdef __cplusplus +} +#endif +#endif diff --git a/solution_2a/test_unity/unity_internals.h b/solution_2a/test_unity/unity_internals.h new file mode 100644 index 00000000..0af52585 --- /dev/null +++ b/solution_2a/test_unity/unity_internals.h @@ -0,0 +1,1033 @@ +/* ========================================== + Unity Project - A Test Framework for C + Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams + [Released under MIT License. Please refer to license.txt for details] +========================================== */ + +#ifndef UNITY_INTERNALS_H +#define UNITY_INTERNALS_H + +#ifdef UNITY_INCLUDE_CONFIG_H +#include "unity_config.h" +#endif + +#ifndef UNITY_EXCLUDE_SETJMP_H +#include +#endif + +#ifndef UNITY_EXCLUDE_MATH_H +#include +#endif + +#ifndef UNITY_EXCLUDE_STDDEF_H +#include +#endif + +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +#include +#endif + +/* Unity Attempts to Auto-Detect Integer Types + * Attempt 1: UINT_MAX, ULONG_MAX in , or default to 32 bits + * Attempt 2: UINTPTR_MAX in , or default to same size as long + * The user may override any of these derived constants: + * UNITY_INT_WIDTH, UNITY_LONG_WIDTH, UNITY_POINTER_WIDTH */ +#ifndef UNITY_EXCLUDE_STDINT_H +#include +#endif + +#ifndef UNITY_EXCLUDE_LIMITS_H +#include +#endif + +#if defined __GNUC__ +# define UNITY_FUNCTION_ATTR(a) __attribute__((a)) +#else +# define UNITY_FUNCTION_ATTR(a) /* ignore */ +#endif + +/*------------------------------------------------------- + * Guess Widths If Not Specified + *-------------------------------------------------------*/ + +/* Determine the size of an int, if not already specified. + * We cannot use sizeof(int), because it is not yet defined + * at this stage in the translation of the C program. + * Also sizeof(int) does return the size in addressable units on all platforms, + * which may not necessarily be the size in bytes. + * Therefore, infer it from UINT_MAX if possible. */ +#ifndef UNITY_INT_WIDTH + #ifdef UINT_MAX + #if (UINT_MAX == 0xFFFF) + #define UNITY_INT_WIDTH (16) + #elif (UINT_MAX == 0xFFFFFFFF) + #define UNITY_INT_WIDTH (32) + #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) + #define UNITY_INT_WIDTH (64) + #endif + #else /* Set to default */ + #define UNITY_INT_WIDTH (32) + #endif /* UINT_MAX */ +#endif + +/* Determine the size of a long, if not already specified. */ +#ifndef UNITY_LONG_WIDTH + #ifdef ULONG_MAX + #if (ULONG_MAX == 0xFFFF) + #define UNITY_LONG_WIDTH (16) + #elif (ULONG_MAX == 0xFFFFFFFF) + #define UNITY_LONG_WIDTH (32) + #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) + #define UNITY_LONG_WIDTH (64) + #endif + #else /* Set to default */ + #define UNITY_LONG_WIDTH (32) + #endif /* ULONG_MAX */ +#endif + +/* Determine the size of a pointer, if not already specified. */ +#ifndef UNITY_POINTER_WIDTH + #ifdef UINTPTR_MAX + #if (UINTPTR_MAX <= 0xFFFF) + #define UNITY_POINTER_WIDTH (16) + #elif (UINTPTR_MAX <= 0xFFFFFFFF) + #define UNITY_POINTER_WIDTH (32) + #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF) + #define UNITY_POINTER_WIDTH (64) + #endif + #else /* Set to default */ + #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH + #endif /* UINTPTR_MAX */ +#endif + +/*------------------------------------------------------- + * Int Support (Define types based on detected sizes) + *-------------------------------------------------------*/ + +#if (UNITY_INT_WIDTH == 32) + typedef unsigned char UNITY_UINT8; + typedef unsigned short UNITY_UINT16; + typedef unsigned int UNITY_UINT32; + typedef signed char UNITY_INT8; + typedef signed short UNITY_INT16; + typedef signed int UNITY_INT32; +#elif (UNITY_INT_WIDTH == 16) + typedef unsigned char UNITY_UINT8; + typedef unsigned int UNITY_UINT16; + typedef unsigned long UNITY_UINT32; + typedef signed char UNITY_INT8; + typedef signed int UNITY_INT16; + typedef signed long UNITY_INT32; +#else + #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) +#endif + +/*------------------------------------------------------- + * 64-bit Support + *-------------------------------------------------------*/ + +/* Auto-detect 64 Bit Support */ +#ifndef UNITY_SUPPORT_64 + #if UNITY_LONG_WIDTH == 64 || UNITY_POINTER_WIDTH == 64 + #define UNITY_SUPPORT_64 + #endif +#endif + +/* 64-Bit Support Dependent Configuration */ +#ifndef UNITY_SUPPORT_64 + /* No 64-bit Support */ + typedef UNITY_UINT32 UNITY_UINT; + typedef UNITY_INT32 UNITY_INT; + #define UNITY_MAX_NIBBLES (8) /* Maximum number of nibbles in a UNITY_(U)INT */ +#else + /* 64-bit Support */ + #if (UNITY_LONG_WIDTH == 32) + typedef unsigned long long UNITY_UINT64; + typedef signed long long UNITY_INT64; + #elif (UNITY_LONG_WIDTH == 64) + typedef unsigned long UNITY_UINT64; + typedef signed long UNITY_INT64; + #else + #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) + #endif + typedef UNITY_UINT64 UNITY_UINT; + typedef UNITY_INT64 UNITY_INT; + #define UNITY_MAX_NIBBLES (16) /* Maximum number of nibbles in a UNITY_(U)INT */ +#endif + +/*------------------------------------------------------- + * Pointer Support + *-------------------------------------------------------*/ + +#if (UNITY_POINTER_WIDTH == 32) + #define UNITY_PTR_TO_INT UNITY_INT32 + #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 +#elif (UNITY_POINTER_WIDTH == 64) + #define UNITY_PTR_TO_INT UNITY_INT64 + #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 +#elif (UNITY_POINTER_WIDTH == 16) + #define UNITY_PTR_TO_INT UNITY_INT16 + #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 +#else + #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) +#endif + +#ifndef UNITY_PTR_ATTRIBUTE + #define UNITY_PTR_ATTRIBUTE +#endif + +#ifndef UNITY_INTERNAL_PTR + #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* +#endif + +/*------------------------------------------------------- + * Float Support + *-------------------------------------------------------*/ + +#ifdef UNITY_EXCLUDE_FLOAT + +/* No Floating Point Support */ +#ifndef UNITY_EXCLUDE_DOUBLE +#define UNITY_EXCLUDE_DOUBLE /* Remove double when excluding float support */ +#endif +#ifndef UNITY_EXCLUDE_FLOAT_PRINT +#define UNITY_EXCLUDE_FLOAT_PRINT +#endif + +#else + +/* Floating Point Support */ +#ifndef UNITY_FLOAT_PRECISION +#define UNITY_FLOAT_PRECISION (0.00001f) +#endif +#ifndef UNITY_FLOAT_TYPE +#define UNITY_FLOAT_TYPE float +#endif +typedef UNITY_FLOAT_TYPE UNITY_FLOAT; + +/* isinf & isnan macros should be provided by math.h */ +#ifndef isinf +/* The value of Inf - Inf is NaN */ +#define isinf(n) (isnan((n) - (n)) && !isnan(n)) +#endif + +#ifndef isnan +/* NaN is the only floating point value that does NOT equal itself. + * Therefore if n != n, then it is NaN. */ +#define isnan(n) ((n != n) ? 1 : 0) +#endif + +#endif + +/*------------------------------------------------------- + * Double Float Support + *-------------------------------------------------------*/ + +/* unlike float, we DON'T include by default */ +#if defined(UNITY_EXCLUDE_DOUBLE) || !defined(UNITY_INCLUDE_DOUBLE) + + /* No Floating Point Support */ + #ifndef UNITY_EXCLUDE_DOUBLE + #define UNITY_EXCLUDE_DOUBLE + #else + #undef UNITY_INCLUDE_DOUBLE + #endif + + #ifndef UNITY_EXCLUDE_FLOAT + #ifndef UNITY_DOUBLE_TYPE + #define UNITY_DOUBLE_TYPE double + #endif + typedef UNITY_FLOAT UNITY_DOUBLE; + /* For parameter in UnityPrintFloat(UNITY_DOUBLE), which aliases to double or float */ + #endif + +#else + + /* Double Floating Point Support */ + #ifndef UNITY_DOUBLE_PRECISION + #define UNITY_DOUBLE_PRECISION (1e-12) + #endif + + #ifndef UNITY_DOUBLE_TYPE + #define UNITY_DOUBLE_TYPE double + #endif + typedef UNITY_DOUBLE_TYPE UNITY_DOUBLE; + +#endif + +/*------------------------------------------------------- + * Output Method: stdout (DEFAULT) + *-------------------------------------------------------*/ +#ifndef UNITY_OUTPUT_CHAR + /* Default to using putchar, which is defined in stdio.h */ + #include + #define UNITY_OUTPUT_CHAR(a) (void)putchar(a) +#else + /* If defined as something else, make sure we declare it here so it's ready for use */ + #ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION + extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION; + #endif +#endif + +#ifndef UNITY_OUTPUT_FLUSH + #ifdef UNITY_USE_FLUSH_STDOUT + /* We want to use the stdout flush utility */ + #include + #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout) + #else + /* We've specified nothing, therefore flush should just be ignored */ + #define UNITY_OUTPUT_FLUSH() + #endif +#else + /* If defined as something else, make sure we declare it here so it's ready for use */ + #ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION + extern void UNITY_OUTPUT_FLUSH_HEADER_DECLARATION; + #endif +#endif + +#ifndef UNITY_OUTPUT_FLUSH +#define UNITY_FLUSH_CALL() +#else +#define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH() +#endif + +#ifndef UNITY_PRINT_EOL +#define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n') +#endif + +#ifndef UNITY_OUTPUT_START +#define UNITY_OUTPUT_START() +#endif + +#ifndef UNITY_OUTPUT_COMPLETE +#define UNITY_OUTPUT_COMPLETE() +#endif + +#ifdef UNITY_INCLUDE_EXEC_TIME + #if !defined(UNITY_EXEC_TIME_START) && \ + !defined(UNITY_EXEC_TIME_STOP) && \ + !defined(UNITY_PRINT_EXEC_TIME) && \ + !defined(UNITY_TIME_TYPE) + /* If none any of these macros are defined then try to provide a default implementation */ + + #if defined(UNITY_CLOCK_MS) + /* This is a simple way to get a default implementation on platforms that support getting a millisecond counter */ + #define UNITY_TIME_TYPE UNITY_UINT + #define UNITY_EXEC_TIME_START() Unity.CurrentTestStartTime = UNITY_CLOCK_MS() + #define UNITY_EXEC_TIME_STOP() Unity.CurrentTestStopTime = UNITY_CLOCK_MS() + #define UNITY_PRINT_EXEC_TIME() { \ + UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ + UnityPrint(" ("); \ + UnityPrintNumberUnsigned(execTimeMs); \ + UnityPrint(" ms)"); \ + } + #elif defined(_WIN32) + #include + #define UNITY_TIME_TYPE clock_t + #define UNITY_GET_TIME(t) t = (clock_t)((clock() * 1000) / CLOCKS_PER_SEC) + #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) + #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) + #define UNITY_PRINT_EXEC_TIME() { \ + UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ + UnityPrint(" ("); \ + UnityPrintNumberUnsigned(execTimeMs); \ + UnityPrint(" ms)"); \ + } + #elif defined(__unix__) + #include + #define UNITY_TIME_TYPE struct timespec + #define UNITY_GET_TIME(t) clock_gettime(CLOCK_MONOTONIC, &t) + #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) + #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) + #define UNITY_PRINT_EXEC_TIME() { \ + UNITY_UINT execTimeMs = ((Unity.CurrentTestStopTime.tv_sec - Unity.CurrentTestStartTime.tv_sec) * 1000L); \ + execTimeMs += ((Unity.CurrentTestStopTime.tv_nsec - Unity.CurrentTestStartTime.tv_nsec) / 1000000L); \ + UnityPrint(" ("); \ + UnityPrintNumberUnsigned(execTimeMs); \ + UnityPrint(" ms)"); \ + } + #endif + #endif +#endif + +#ifndef UNITY_EXEC_TIME_START +#define UNITY_EXEC_TIME_START() do{}while(0) +#endif + +#ifndef UNITY_EXEC_TIME_STOP +#define UNITY_EXEC_TIME_STOP() do{}while(0) +#endif + +#ifndef UNITY_TIME_TYPE +#define UNITY_TIME_TYPE UNITY_UINT +#endif + +#ifndef UNITY_PRINT_EXEC_TIME +#define UNITY_PRINT_EXEC_TIME() do{}while(0) +#endif + +/*------------------------------------------------------- + * Footprint + *-------------------------------------------------------*/ + +#ifndef UNITY_LINE_TYPE +#define UNITY_LINE_TYPE UNITY_UINT +#endif + +#ifndef UNITY_COUNTER_TYPE +#define UNITY_COUNTER_TYPE UNITY_UINT +#endif + +/*------------------------------------------------------- + * Internal Structs Needed + *-------------------------------------------------------*/ + +typedef void (*UnityTestFunction)(void); + +#define UNITY_DISPLAY_RANGE_INT (0x10) +#define UNITY_DISPLAY_RANGE_UINT (0x20) +#define UNITY_DISPLAY_RANGE_HEX (0x40) +#define UNITY_DISPLAY_RANGE_CHAR (0x80) + +typedef enum +{ + UNITY_DISPLAY_STYLE_INT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_INT, + UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, + UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, + UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, +#endif + + UNITY_DISPLAY_STYLE_UINT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_UINT, + UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, + UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, + UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, +#endif + + UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, + UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, + UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, +#endif + + UNITY_DISPLAY_STYLE_CHAR = 1 + UNITY_DISPLAY_RANGE_CHAR + UNITY_DISPLAY_RANGE_INT, + + UNITY_DISPLAY_STYLE_UNKNOWN +} UNITY_DISPLAY_STYLE_T; + +typedef enum +{ + UNITY_WITHIN = 0x0, + UNITY_EQUAL_TO = 0x1, + UNITY_GREATER_THAN = 0x2, + UNITY_GREATER_OR_EQUAL = 0x2 + UNITY_EQUAL_TO, + UNITY_SMALLER_THAN = 0x4, + UNITY_SMALLER_OR_EQUAL = 0x4 + UNITY_EQUAL_TO, + UNITY_NOT_EQUAL = 0x0, + UNITY_UNKNOWN +} UNITY_COMPARISON_T; + +#ifndef UNITY_EXCLUDE_FLOAT +typedef enum UNITY_FLOAT_TRAIT +{ + UNITY_FLOAT_IS_NOT_INF = 0, + UNITY_FLOAT_IS_INF, + UNITY_FLOAT_IS_NOT_NEG_INF, + UNITY_FLOAT_IS_NEG_INF, + UNITY_FLOAT_IS_NOT_NAN, + UNITY_FLOAT_IS_NAN, + UNITY_FLOAT_IS_NOT_DET, + UNITY_FLOAT_IS_DET, + UNITY_FLOAT_INVALID_TRAIT +} UNITY_FLOAT_TRAIT_T; +#endif + +typedef enum +{ + UNITY_ARRAY_TO_VAL = 0, + UNITY_ARRAY_TO_ARRAY, + UNITY_ARRAY_UNKNOWN +} UNITY_FLAGS_T; + +struct UNITY_STORAGE_T +{ + const char* TestFile; + const char* CurrentTestName; +#ifndef UNITY_EXCLUDE_DETAILS + const char* CurrentDetail1; + const char* CurrentDetail2; +#endif + UNITY_LINE_TYPE CurrentTestLineNumber; + UNITY_COUNTER_TYPE NumberOfTests; + UNITY_COUNTER_TYPE TestFailures; + UNITY_COUNTER_TYPE TestIgnores; + UNITY_COUNTER_TYPE CurrentTestFailed; + UNITY_COUNTER_TYPE CurrentTestIgnored; +#ifdef UNITY_INCLUDE_EXEC_TIME + UNITY_TIME_TYPE CurrentTestStartTime; + UNITY_TIME_TYPE CurrentTestStopTime; +#endif +#ifndef UNITY_EXCLUDE_SETJMP_H + jmp_buf AbortFrame; +#endif +}; + +extern struct UNITY_STORAGE_T Unity; + +/*------------------------------------------------------- + * Test Suite Management + *-------------------------------------------------------*/ + +void UnityBegin(const char* filename); +int UnityEnd(void); +void UnitySetTestFile(const char* filename); +void UnityConcludeTest(void); + +#ifndef RUN_TEST +void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); +#else +#define UNITY_SKIP_DEFAULT_RUNNER +#endif + +/*------------------------------------------------------- + * Details Support + *-------------------------------------------------------*/ + +#ifdef UNITY_EXCLUDE_DETAILS +#define UNITY_CLR_DETAILS() +#define UNITY_SET_DETAIL(d1) +#define UNITY_SET_DETAILS(d1,d2) +#else +#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } +#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = 0; } +#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = (d2); } + +#ifndef UNITY_DETAIL1_NAME +#define UNITY_DETAIL1_NAME "Function" +#endif + +#ifndef UNITY_DETAIL2_NAME +#define UNITY_DETAIL2_NAME "Argument" +#endif +#endif + +#ifdef UNITY_PRINT_TEST_CONTEXT +void UNITY_PRINT_TEST_CONTEXT(void); +#endif + +/*------------------------------------------------------- + * Test Output + *-------------------------------------------------------*/ + +void UnityPrint(const char* string); + +#ifdef UNITY_INCLUDE_PRINT_FORMATTED +void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...); +#endif + +void UnityPrintLen(const char* string, const UNITY_UINT32 length); +void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number); +void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style); +void UnityPrintNumber(const UNITY_INT number_to_print); +void UnityPrintNumberUnsigned(const UNITY_UINT number); +void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print); + +#ifndef UNITY_EXCLUDE_FLOAT_PRINT +void UnityPrintFloat(const UNITY_DOUBLE input_number); +#endif + +/*------------------------------------------------------- + * Test Assertion Functions + *------------------------------------------------------- + * Use the macros below this section instead of calling + * these directly. The macros have a consistent naming + * convention and will pull in file and line information + * for you. */ + +void UnityAssertEqualNumber(const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, + const UNITY_INT actual, + const UNITY_COMPARISON_T compare, + const char *msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags); + +void UnityAssertBits(const UNITY_INT mask, + const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualString(const char* expected, + const char* actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualStringLen(const char* expected, + const char* actual, + const UNITY_UINT32 length, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, + const char** actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); + +void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 length, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); + +void UnityAssertNumbersWithin(const UNITY_UINT delta, + const UNITY_INT expected, + const UNITY_INT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, + UNITY_INTERNAL_PTR expected, + UNITY_INTERNAL_PTR actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags); + +void UnityFail(const char* message, const UNITY_LINE_TYPE line) UNITY_FUNCTION_ATTR(noreturn); +void UnityIgnore(const char* message, const UNITY_LINE_TYPE line) UNITY_FUNCTION_ATTR(noreturn); +void UnityMessage(const char* message, const UNITY_LINE_TYPE line); + +#ifndef UNITY_EXCLUDE_FLOAT +void UnityAssertFloatsWithin(const UNITY_FLOAT delta, + const UNITY_FLOAT expected, + const UNITY_FLOAT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, + UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); + +void UnityAssertFloatSpecial(const UNITY_FLOAT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLOAT_TRAIT_T style); +#endif + +#ifndef UNITY_EXCLUDE_DOUBLE +void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, + const UNITY_DOUBLE expected, + const UNITY_DOUBLE actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, + UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, + const UNITY_UINT32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); + +void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLOAT_TRAIT_T style); +#endif + +/*------------------------------------------------------- + * Helpers + *-------------------------------------------------------*/ + +UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size); +#ifndef UNITY_EXCLUDE_FLOAT +UNITY_INTERNAL_PTR UnityFloatToPtr(const float num); +#endif +#ifndef UNITY_EXCLUDE_DOUBLE +UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num); +#endif + +/*------------------------------------------------------- + * Error Strings We Might Need + *-------------------------------------------------------*/ + +extern const char UnityStrOk[]; +extern const char UnityStrPass[]; +extern const char UnityStrFail[]; +extern const char UnityStrIgnore[]; + +extern const char UnityStrErrFloat[]; +extern const char UnityStrErrDouble[]; +extern const char UnityStrErr64[]; +extern const char UnityStrErrShorthand[]; + +/*------------------------------------------------------- + * Test Running Macros + *-------------------------------------------------------*/ + +#ifndef UNITY_EXCLUDE_SETJMP_H +#define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) +#define TEST_ABORT() longjmp(Unity.AbortFrame, 1) +#else +#define TEST_PROTECT() 1 +#define TEST_ABORT() return +#endif + +/* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */ +#ifndef RUN_TEST +#ifdef __STDC_VERSION__ +#if __STDC_VERSION__ >= 199901L +#define UNITY_SUPPORT_VARIADIC_MACROS +#endif +#endif +#ifdef UNITY_SUPPORT_VARIADIC_MACROS +#define RUN_TEST(...) RUN_TEST_AT_LINE(__VA_ARGS__, __LINE__, throwaway) +#define RUN_TEST_AT_LINE(func, line, ...) UnityDefaultTestRun(func, #func, line) +#endif +#endif + +/* If we can't do the tricky version, we'll just have to require them to always include the line number */ +#ifndef RUN_TEST +#ifdef CMOCK +#define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num) +#else +#define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__) +#endif +#endif + +#define TEST_LINE_NUM (Unity.CurrentTestLineNumber) +#define TEST_IS_IGNORED (Unity.CurrentTestIgnored) +#define UNITY_NEW_TEST(a) \ + Unity.CurrentTestName = (a); \ + Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \ + Unity.NumberOfTests++; + +#ifndef UNITY_BEGIN +#define UNITY_BEGIN() UnityBegin(__FILE__) +#endif + +#ifndef UNITY_END +#define UNITY_END() UnityEnd() +#endif + +#ifndef UNITY_SHORTHAND_AS_INT +#ifndef UNITY_SHORTHAND_AS_MEM +#ifndef UNITY_SHORTHAND_AS_NONE +#ifndef UNITY_SHORTHAND_AS_RAW +#define UNITY_SHORTHAND_AS_OLD +#endif +#endif +#endif +#endif + +/*----------------------------------------------- + * Command Line Argument Support + *-----------------------------------------------*/ + +#ifdef UNITY_USE_COMMAND_LINE_ARGS +int UnityParseOptions(int argc, char** argv); +int UnityTestMatches(void); +#endif + +/*------------------------------------------------------- + * Basic Fail and Ignore + *-------------------------------------------------------*/ + +#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) + +/*------------------------------------------------------- + * Test Asserts + *-------------------------------------------------------*/ + +#define UNITY_TEST_ASSERT(condition, line, message) do {if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));}} while(0) +#define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) == 0), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_NOT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) != 0), (UNITY_LINE_TYPE)(line), (message)) + +#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) +#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) + +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) + +#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) + + +#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) + +#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) + +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL) + +#ifdef UNITY_SUPPORT_64 +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) +#else +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) +#endif + +#ifdef UNITY_EXCLUDE_FLOAT +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#else +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) +#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) +#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) +#endif + +#ifdef UNITY_EXCLUDE_DOUBLE +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#else +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), (message)) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) +#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) +#endif + +/* End of UNITY_INTERNALS_H */ +#endif From 689ddcafc857e915c2e187a5c7cc24a88e1a47d5 Mon Sep 17 00:00:00 2001 From: ayushiag882 <44777159+ayushiag882@users.noreply.github.com> Date: Sun, 4 Apr 2021 14:17:47 +0530 Subject: [PATCH 3/4] Delete solution_2a directory --- solution_2a/Makefile | 25 - solution_2a/data.csv | 5 - solution_2a/inc/header.exe | Bin 3855600 -> 0 bytes solution_2a/inc/header.h | 70 - solution_2a/main.c | 53 - solution_2a/result.exe | Bin 59556 -> 0 bytes solution_2a/src/free_file.c | 5 - solution_2a/src/open_file.c | 11 - solution_2a/src/read_file.c | 6 - solution_2a/src/sort_file.c | 15 - solution_2a/test_result.exe | Bin 77725 -> 0 bytes solution_2a/test_unity/test.c | 28 - solution_2a/test_unity/unity.c | 2111 ---------------------- solution_2a/test_unity/unity.h | 661 ------- solution_2a/test_unity/unity_internals.h | 1033 ----------- 15 files changed, 4023 deletions(-) delete mode 100644 solution_2a/Makefile delete mode 100644 solution_2a/data.csv delete mode 100644 solution_2a/inc/header.exe delete mode 100644 solution_2a/inc/header.h delete mode 100644 solution_2a/main.c delete mode 100644 solution_2a/result.exe delete mode 100644 solution_2a/src/free_file.c delete mode 100644 solution_2a/src/open_file.c delete mode 100644 solution_2a/src/read_file.c delete mode 100644 solution_2a/src/sort_file.c delete mode 100644 solution_2a/test_result.exe delete mode 100644 solution_2a/test_unity/test.c delete mode 100644 solution_2a/test_unity/unity.c delete mode 100644 solution_2a/test_unity/unity.h delete mode 100644 solution_2a/test_unity/unity_internals.h diff --git a/solution_2a/Makefile b/solution_2a/Makefile deleted file mode 100644 index 303605dd..00000000 --- a/solution_2a/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -# comments - -#Target : dependancy -#Command - -var=result -src =src\open_file.c src\read_file.c src\free_file.c src\sort_file.c main.c inc\header.h -src_test=test_unity\test.c test_unity\unity.c test_unity\unity.h test_unity\unity_internals.h -INC_var=inc -$(var):$(src) - gcc $(src) -I$(INC_var) -o $(var) - -run:$(var) - $(var) - -static_check: - cppcheck --enable=all src/ .c inc/ .c - -rungo: - gcc -I$(INC_var) -I test_unity $(src_test) $(src) -o test_result - - - -clean: - del /q *.exe diff --git a/solution_2a/data.csv b/solution_2a/data.csv deleted file mode 100644 index 7ac65ee5..00000000 --- a/solution_2a/data.csv +++ /dev/null @@ -1,5 +0,0 @@ -Unity,Unityemail.com,https://github.com/ThrowTheSwitch/Unity.git -AyushiAgarwal,ayushiag882@gmail.com,https://github.com/ayushiag882 -User1,user1@gmail.com,https://github.com/user1 -User2,user2@gmail.com,https://github.com/user2 -Stepin,stepinemail.com,https://github.com/stepin654321/MiniProject_Template.git \ No newline at end of file diff --git a/solution_2a/inc/header.exe b/solution_2a/inc/header.exe deleted file mode 100644 index 18daae5e3510a38b5a5de7b087accc4d43d8df52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3855600 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 I;{Nf4yA(2P@)< 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 hRk{quVMasNnvUQhX`_5N9iTd&t~9QmEa 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 z3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYU zuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St z@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y z0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa z74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!y zUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP z;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#) z0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy; zE8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZ zyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42p zz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp z1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLw zSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+ zcm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI3U~#)0$u^H zfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYUuYgy;E8rFI z3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St@CtYZyaHYU zuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yUIDLwSHLUa74Qmp1-t@Y0k42pz$@St z@CtYZyaHYUuYgy;E8rFI3U~#)0$u^HfLFjP;1%!+cm=!yKfeMG``*Yy+kbS$1#zYz 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 +#include +#include +/** + * @file header.h + * @author Ayushi Agarwal -256145(ayushiag882@gmail.com) + * @brief + * @version 0.1 + * @date 2021-04-02 + * + * @copyright Copyright (c) 2021 + * + */ +#ifndef __HEADER_H__ +#define __HEADER_H___ + +/** + * @brief Defined flags to get and handle errors + * + */ +typedef enum error_handler{ + FAIL = 1, + SUCCESS = 0, +} error_handler; + +/** + * @brief Defining Structure Format + * + */ +typedef struct information { + char name[1000]; + char email_id[1000]; + char git_link[1000]; +} information; + +/** + * @brief File opening utility + * + * @param fileaddr // file input + * @param mode // mode of file reading,writing,append,etc. + * @param fptr // storing file pointer + * @return error_handler + */ +error_handler fileOpen(char *fileaddr,char *mode, FILE **fptr); + +/** + * @brief File reading utility + * + * @param fptr + * @param buffer // to store the file data line by line + * @return int + */ +int fileRead(FILE **fptr, char *buffer); + +/** + * @brief Memory freeing utility, to free up dynamically allocated space. + * + * @param user + */ +void freeMemory(information *user); + + +/** + * @brief Sorting Utitlity + * + * @param arr + */ +void sort(information *arr); + +#endif \ No newline at end of file diff --git a/solution_2a/main.c b/solution_2a/main.c new file mode 100644 index 00000000..4299b208 --- /dev/null +++ b/solution_2a/main.c @@ -0,0 +1,53 @@ +#include "header.h" +#include +#include + +int main(){ + FILE *ftr=NULL; + error_handler open=fileOpen("data.csv","r", &ftr); + + information *arr=malloc(sizeof(information)*5); + char buffer[1000]={0}; //to store file data + + if(open==FAIL){ + printf("FILE CANNOT BE FOUND"); + } + else{ + int i=0; + + while(fileRead(&ftr,buffer)==1){ + + if(feof(ftr)){ + printf("END OF FILE IS REACHED\n"); + break; + } + information *user=(information*)malloc(sizeof(user)); + char *temp; + temp=strtok(buffer,","); + strcpy(user->name,temp); + temp=strtok(NULL,","); + strcpy(user->email_id,temp); + temp=strtok(NULL,","); + strcpy(user->git_link,temp); + + + printf(" Name: %s\n Email_Address: %s\n GitHub_Link: %s\n\n",user->name,user->email_id,user->git_link); + + strcpy(arr[i].name,user->name); + strcpy(arr[i].email_id,user->email_id); + strcpy(arr[i].git_link,user->git_link); + + i++; + freeMemory(user); + } + + sort(arr); + printf("SORTED LIST:\n\n"); + for(int i=0;i<5;i++){ + printf(" Name: %s\n Email_Address: %s\n GitHub_Link: %s\n",arr[i].name,arr[i].email_id,arr[i].git_link); + } + } + freeMemory(arr); + fclose(ftr); + return 0; +} \ No newline at end of file diff --git a/solution_2a/result.exe b/solution_2a/result.exe new file mode 100644 index 0000000000000000000000000000000000000000..1f1e98dacde271a3bfaca16244b440369a7cc280 GIT binary patch literal 59556 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

|^jo$Hvchvc% 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

KGXKo((v(l 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 z z`Ok09j`8nCwm-dTT&n)RRPYuWoBEZ?{PxrZI=k6PgQm)rk2ZMJ_tSC=hXhSpPiPX8d{l zHLjKM7ogJruS4yrNIp#K&({wek6WAtO{dJ|xzwGp3{;%hIv-bbDTiUz+;QnuLAfNru{kB<; z;y)w&U#{o>j<)|lC@lZk4*Q+U&Y1X5YyI5+O=+?H>w5Qv{yW_KPpQ8YqhI@<{WTN# zch&vR&)+>bo&PHyzFs$;8T@;|m*-y{62{kdSWh*E9~b{KQ|AB37V}>}|8ExPzYqH5 z`Jab|>DP8xe=SCTBmVdikN^1hPvZL1;Qd4L{HH%2Y>emI9{)Ymy#M3;uMzfd8=Tf6H&z|G60c*?7<{U4PO2r~}TT>t8Nw zcn~d}AL;vgyy_pme>K8`TAR&3WWW_BpSc} zan8r}{9jA!-<|s;&%f$+Um=ihHmCmYEAS6@`PFp%qK7a3--7sGgMS40vi=yz7dtH6mL`yIEdLwuk96ao zlHVD~=W2I>e-!wA`TY|q`6UmZ^TupR{{I&IW8C=P6W0FO4(s5u?BPq?wj%y_;2-P8 zKaekW7;MW*DBu46d+#lOqL*Kzv^{FA^R$^Bm-U)y2*(ND?aU)ImR{~3Ja>VG(;{?69U zKU2Uz#f|^?Fn*l=j`LgN{{sGL;Qw|1e>#5Ng_`d~Jv0S@iHZ z{$^Xs|KGqr%Z>ljVSKj3TrNuesKo7{x!LW{-)z^wj;Xj zA9)X7=S^?$F9m;`;yd}5Gq{+XiccNE&wtZ)xE=)$U)Os^@Gk>j#@}D3({GaasANW+ z|7QdLD)75zw*LQt_&)vG4(spq@b!D6=K%j2@CVOg`M-wg*LIj+^6=&TfA)Ym!N1<+ zN0n~Ze*@7pD^C2!eEL%3du@mLWe>l2Z}M6V)BMwRnBR3l?D@Ab zCDQM{?)-Vdzs2RxO8iMy=W^gjSZw0_@3Q}0+hKmqqrbd%cmDj~-|q4=-T8PmYE!

&*;(qo9_Q( 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 diff --git a/solution_2a/src/free_file.c b/solution_2a/src/free_file.c deleted file mode 100644 index bf13f79e..00000000 --- a/solution_2a/src/free_file.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "header.h" - -void freeMemory(information *user){ - free(user); -} \ No newline at end of file diff --git a/solution_2a/src/open_file.c b/solution_2a/src/open_file.c deleted file mode 100644 index c88d601a..00000000 --- a/solution_2a/src/open_file.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "header.h" - -error_handler fileOpen(char *fileaddr,char *mode, FILE **fptr){ - *fptr=fopen(fileaddr,mode); - if(fptr==NULL){ - return FAIL; - } - else{ - return SUCCESS; - } -} \ No newline at end of file diff --git a/solution_2a/src/read_file.c b/solution_2a/src/read_file.c deleted file mode 100644 index 01642817..00000000 --- a/solution_2a/src/read_file.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "header.h" -#include - -int fileRead(FILE **fptr, char *buffer){ - return fscanf(*fptr,"%s",buffer); -} \ No newline at end of file diff --git a/solution_2a/src/sort_file.c b/solution_2a/src/sort_file.c deleted file mode 100644 index aa5ec9fb..00000000 --- a/solution_2a/src/sort_file.c +++ /dev/null @@ -1,15 +0,0 @@ - -#include "header.h" - -int comparator(const void *user1,const void *user2){ - - return strcmp(((information*)user1)->name,((information*)user2)->name); - -} - -void sort(information *arr){ - if(arr==NULL){ - return; - } - qsort(arr,5,sizeof(information),comparator); -} \ No newline at end of file diff --git a/solution_2a/test_result.exe b/solution_2a/test_result.exe deleted file mode 100644 index 561c2b71cc361f19235f9585ef8abde60a621b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77725 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]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 - -#ifdef AVR -#include -#else -#define PROGMEM -#endif - -/* If omitted from header, declare overrideable prototypes here so they're ready for use */ -#ifdef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION -void UNITY_OUTPUT_CHAR(int); -#endif - -/* Helpful macros for us to use here in Assert functions */ -#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } -#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_FLUSH(); TEST_ABORT(); } -#define RETURN_IF_FAIL_OR_IGNORE if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) TEST_ABORT() - -struct UNITY_STORAGE_T Unity; - -#ifdef UNITY_OUTPUT_COLOR -const char PROGMEM UnityStrOk[] = "\033[42mOK\033[00m"; -const char PROGMEM UnityStrPass[] = "\033[42mPASS\033[00m"; -const char PROGMEM UnityStrFail[] = "\033[41mFAIL\033[00m"; -const char PROGMEM UnityStrIgnore[] = "\033[43mIGNORE\033[00m"; -#else -const char PROGMEM UnityStrOk[] = "OK"; -const char PROGMEM UnityStrPass[] = "PASS"; -const char PROGMEM UnityStrFail[] = "FAIL"; -const char PROGMEM UnityStrIgnore[] = "IGNORE"; -#endif -static const char PROGMEM UnityStrNull[] = "NULL"; -static const char PROGMEM UnityStrSpacer[] = ". "; -static const char PROGMEM UnityStrExpected[] = " Expected "; -static const char PROGMEM UnityStrWas[] = " Was "; -static const char PROGMEM UnityStrGt[] = " to be greater than "; -static const char PROGMEM UnityStrLt[] = " to be less than "; -static const char PROGMEM UnityStrOrEqual[] = "or equal to "; -static const char PROGMEM UnityStrNotEqual[] = " to be not equal to "; -static const char PROGMEM UnityStrElement[] = " Element "; -static const char PROGMEM UnityStrByte[] = " Byte "; -static const char PROGMEM UnityStrMemory[] = " Memory Mismatch."; -static const char PROGMEM UnityStrDelta[] = " Values Not Within Delta "; -static const char PROGMEM UnityStrPointless[] = " You Asked Me To Compare Nothing, Which Was Pointless."; -static const char PROGMEM UnityStrNullPointerForExpected[] = " Expected pointer to be NULL"; -static const char PROGMEM UnityStrNullPointerForActual[] = " Actual pointer was NULL"; -#ifndef UNITY_EXCLUDE_FLOAT -static const char PROGMEM UnityStrNot[] = "Not "; -static const char PROGMEM UnityStrInf[] = "Infinity"; -static const char PROGMEM UnityStrNegInf[] = "Negative Infinity"; -static const char PROGMEM UnityStrNaN[] = "NaN"; -static const char PROGMEM UnityStrDet[] = "Determinate"; -static const char PROGMEM UnityStrInvalidFloatTrait[] = "Invalid Float Trait"; -#endif -const char PROGMEM UnityStrErrShorthand[] = "Unity Shorthand Support Disabled"; -const char PROGMEM UnityStrErrFloat[] = "Unity Floating Point Disabled"; -const char PROGMEM UnityStrErrDouble[] = "Unity Double Precision Disabled"; -const char PROGMEM UnityStrErr64[] = "Unity 64-bit Support Disabled"; -static const char PROGMEM UnityStrBreaker[] = "-----------------------"; -static const char PROGMEM UnityStrResultsTests[] = " Tests "; -static const char PROGMEM UnityStrResultsFailures[] = " Failures "; -static const char PROGMEM UnityStrResultsIgnored[] = " Ignored "; -static const char PROGMEM UnityStrDetail1Name[] = UNITY_DETAIL1_NAME " "; -static const char PROGMEM UnityStrDetail2Name[] = " " UNITY_DETAIL2_NAME " "; - -/*----------------------------------------------- - * Pretty Printers & Test Result Output Handlers - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -/* Local helper function to print characters. */ -static void UnityPrintChar(const char* pch) -{ - /* printable characters plus CR & LF are printed */ - if ((*pch <= 126) && (*pch >= 32)) - { - UNITY_OUTPUT_CHAR(*pch); - } - /* write escaped carriage returns */ - else if (*pch == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (*pch == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)*pch, 2); - } -} - -/*-----------------------------------------------*/ -/* Local helper function to print ANSI escape strings e.g. "\033[42m". */ -#ifdef UNITY_OUTPUT_COLOR -static UNITY_UINT UnityPrintAnsiEscapeString(const char* string) -{ - const char* pch = string; - UNITY_UINT count = 0; - - while (*pch && (*pch != 'm')) - { - UNITY_OUTPUT_CHAR(*pch); - pch++; - count++; - } - UNITY_OUTPUT_CHAR('m'); - count++; - - return count; -} -#endif - -/*-----------------------------------------------*/ -void UnityPrint(const char* string) -{ - const char* pch = string; - - if (pch != NULL) - { - while (*pch) - { -#ifdef UNITY_OUTPUT_COLOR - /* print ANSI escape code */ - if ((*pch == 27) && (*(pch + 1) == '[')) - { - pch += UnityPrintAnsiEscapeString(pch); - continue; - } -#endif - UnityPrintChar(pch); - pch++; - } - } -} -/*-----------------------------------------------*/ -void UnityPrintLen(const char* string, const UNITY_UINT32 length) -{ - const char* pch = string; - - if (pch != NULL) - { - while (*pch && ((UNITY_UINT32)(pch - string) < length)) - { - /* printable characters plus CR & LF are printed */ - if ((*pch <= 126) && (*pch >= 32)) - { - UNITY_OUTPUT_CHAR(*pch); - } - /* write escaped carriage returns */ - else if (*pch == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (*pch == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)*pch, 2); - } - pch++; - } - } -} - -/*-----------------------------------------------*/ -void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style) -{ - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (style == UNITY_DISPLAY_STYLE_CHAR) - { - /* printable characters plus CR & LF are printed */ - UNITY_OUTPUT_CHAR('\''); - if ((number <= 126) && (number >= 32)) - { - UNITY_OUTPUT_CHAR((int)number); - } - /* write escaped carriage returns */ - else if (number == 13) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('r'); - } - /* write escaped line feeds */ - else if (number == 10) - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('n'); - } - /* unprintable characters are shown as codes */ - else - { - UNITY_OUTPUT_CHAR('\\'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, 2); - } - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrintNumber(number); - } - } - else if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT) - { - UnityPrintNumberUnsigned((UNITY_UINT)number); - } - else - { - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, (char)((style & 0xF) * 2)); - } -} - -/*-----------------------------------------------*/ -void UnityPrintNumber(const UNITY_INT number_to_print) -{ - UNITY_UINT number = (UNITY_UINT)number_to_print; - - if (number_to_print < 0) - { - /* A negative number, including MIN negative */ - UNITY_OUTPUT_CHAR('-'); - number = (~number) + 1; - } - UnityPrintNumberUnsigned(number); -} - -/*----------------------------------------------- - * basically do an itoa using as little ram as possible */ -void UnityPrintNumberUnsigned(const UNITY_UINT number) -{ - UNITY_UINT divisor = 1; - - /* figure out initial divisor */ - while (number / divisor > 9) - { - divisor *= 10; - } - - /* now mod and print, then divide divisor */ - do - { - UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); - divisor /= 10; - } while (divisor > 0); -} - -/*-----------------------------------------------*/ -void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print) -{ - int nibble; - char nibbles = nibbles_to_print; - - if ((unsigned)nibbles > UNITY_MAX_NIBBLES) - { - nibbles = UNITY_MAX_NIBBLES; - } - - while (nibbles > 0) - { - nibbles--; - nibble = (int)(number >> (nibbles * 4)) & 0x0F; - if (nibble <= 9) - { - UNITY_OUTPUT_CHAR((char)('0' + nibble)); - } - else - { - UNITY_OUTPUT_CHAR((char)('A' - 10 + nibble)); - } - } -} - -/*-----------------------------------------------*/ -void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number) -{ - UNITY_UINT current_bit = (UNITY_UINT)1 << (UNITY_INT_WIDTH - 1); - UNITY_INT32 i; - - for (i = 0; i < UNITY_INT_WIDTH; i++) - { - if (current_bit & mask) - { - if (current_bit & number) - { - UNITY_OUTPUT_CHAR('1'); - } - else - { - UNITY_OUTPUT_CHAR('0'); - } - } - else - { - UNITY_OUTPUT_CHAR('X'); - } - current_bit = current_bit >> 1; - } -} - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -/* - * This function prints a floating-point value in a format similar to - * printf("%.7g") on a single-precision machine or printf("%.9g") on a - * double-precision machine. The 7th digit won't always be totally correct - * in single-precision operation (for that level of accuracy, a more - * complicated algorithm would be needed). - */ -void UnityPrintFloat(const UNITY_DOUBLE input_number) -{ -#ifdef UNITY_INCLUDE_DOUBLE - static const int sig_digits = 9; - static const UNITY_INT32 min_scaled = 100000000; - static const UNITY_INT32 max_scaled = 1000000000; -#else - static const int sig_digits = 7; - static const UNITY_INT32 min_scaled = 1000000; - static const UNITY_INT32 max_scaled = 10000000; -#endif - - UNITY_DOUBLE number = input_number; - - /* print minus sign (does not handle negative zero) */ - if (number < 0.0f) - { - UNITY_OUTPUT_CHAR('-'); - number = -number; - } - - /* handle zero, NaN, and +/- infinity */ - if (number == 0.0f) - { - UnityPrint("0"); - } - else if (isnan(number)) - { - UnityPrint("nan"); - } - else if (isinf(number)) - { - UnityPrint("inf"); - } - else - { - UNITY_INT32 n_int = 0, n; - int exponent = 0; - int decimals, digits; - char buf[16] = {0}; - - /* - * Scale up or down by powers of 10. To minimize rounding error, - * start with a factor/divisor of 10^10, which is the largest - * power of 10 that can be represented exactly. Finally, compute - * (exactly) the remaining power of 10 and perform one more - * multiplication or division. - */ - if (number < 1.0f) - { - UNITY_DOUBLE factor = 1.0f; - - while (number < (UNITY_DOUBLE)max_scaled / 1e10f) { number *= 1e10f; exponent -= 10; } - while (number * factor < (UNITY_DOUBLE)min_scaled) { factor *= 10.0f; exponent--; } - - number *= factor; - } - else if (number > (UNITY_DOUBLE)max_scaled) - { - UNITY_DOUBLE divisor = 1.0f; - - while (number > (UNITY_DOUBLE)min_scaled * 1e10f) { number /= 1e10f; exponent += 10; } - while (number / divisor > (UNITY_DOUBLE)max_scaled) { divisor *= 10.0f; exponent++; } - - number /= divisor; - } - else - { - /* - * In this range, we can split off the integer part before - * doing any multiplications. This reduces rounding error by - * freeing up significant bits in the fractional part. - */ - UNITY_DOUBLE factor = 1.0f; - n_int = (UNITY_INT32)number; - number -= (UNITY_DOUBLE)n_int; - - while (n_int < min_scaled) { n_int *= 10; factor *= 10.0f; exponent--; } - - number *= factor; - } - - /* round to nearest integer */ - n = ((UNITY_INT32)(number + number) + 1) / 2; - -#ifndef UNITY_ROUND_TIES_AWAY_FROM_ZERO - /* round to even if exactly between two integers */ - if ((n & 1) && (((UNITY_DOUBLE)n - number) == 0.5f)) - n--; -#endif - - n += n_int; - - if (n >= max_scaled) - { - n = min_scaled; - exponent++; - } - - /* determine where to place decimal point */ - decimals = ((exponent <= 0) && (exponent >= -(sig_digits + 3))) ? (-exponent) : (sig_digits - 1); - exponent += decimals; - - /* truncate trailing zeroes after decimal point */ - while ((decimals > 0) && ((n % 10) == 0)) - { - n /= 10; - decimals--; - } - - /* build up buffer in reverse order */ - digits = 0; - while ((n != 0) || (digits < (decimals + 1))) - { - buf[digits++] = (char)('0' + n % 10); - n /= 10; - } - while (digits > 0) - { - if (digits == decimals) { UNITY_OUTPUT_CHAR('.'); } - UNITY_OUTPUT_CHAR(buf[--digits]); - } - - /* print exponent if needed */ - if (exponent != 0) - { - UNITY_OUTPUT_CHAR('e'); - - if (exponent < 0) - { - UNITY_OUTPUT_CHAR('-'); - exponent = -exponent; - } - else - { - UNITY_OUTPUT_CHAR('+'); - } - - digits = 0; - while ((exponent != 0) || (digits < 2)) - { - buf[digits++] = (char)('0' + exponent % 10); - exponent /= 10; - } - while (digits > 0) - { - UNITY_OUTPUT_CHAR(buf[--digits]); - } - } - } -} -#endif /* ! UNITY_EXCLUDE_FLOAT_PRINT */ - -/*-----------------------------------------------*/ -static void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE line) -{ -#ifdef UNITY_OUTPUT_FOR_ECLIPSE - UNITY_OUTPUT_CHAR('('); - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(')'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#else -#ifdef UNITY_OUTPUT_FOR_IAR_WORKBENCH - UnityPrint("'); - UnityPrint(Unity.CurrentTestName); - UnityPrint(" "); -#else -#ifdef UNITY_OUTPUT_FOR_QT_CREATOR - UnityPrint("file://"); - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#else - UnityPrint(file); - UNITY_OUTPUT_CHAR(':'); - UnityPrintNumber((UNITY_INT)line); - UNITY_OUTPUT_CHAR(':'); - UnityPrint(Unity.CurrentTestName); - UNITY_OUTPUT_CHAR(':'); -#endif -#endif -#endif -} - -/*-----------------------------------------------*/ -static void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrFail); - UNITY_OUTPUT_CHAR(':'); -} - -/*-----------------------------------------------*/ -void UnityConcludeTest(void) -{ - if (Unity.CurrentTestIgnored) - { - Unity.TestIgnores++; - } - else if (!Unity.CurrentTestFailed) - { - UnityTestResultsBegin(Unity.TestFile, Unity.CurrentTestLineNumber); - UnityPrint(UnityStrPass); - } - else - { - Unity.TestFailures++; - } - - Unity.CurrentTestFailed = 0; - Unity.CurrentTestIgnored = 0; - UNITY_PRINT_EXEC_TIME(); - UNITY_PRINT_EOL(); - UNITY_FLUSH_CALL(); -} - -/*-----------------------------------------------*/ -static void UnityAddMsgIfSpecified(const char* msg) -{ - if (msg) - { - UnityPrint(UnityStrSpacer); - -#ifdef UNITY_PRINT_TEST_CONTEXT - UNITY_PRINT_TEST_CONTEXT(); -#endif -#ifndef UNITY_EXCLUDE_DETAILS - if (Unity.CurrentDetail1) - { - UnityPrint(UnityStrDetail1Name); - UnityPrint(Unity.CurrentDetail1); - if (Unity.CurrentDetail2) - { - UnityPrint(UnityStrDetail2Name); - UnityPrint(Unity.CurrentDetail2); - } - UnityPrint(UnityStrSpacer); - } -#endif - UnityPrint(msg); - } -} - -/*-----------------------------------------------*/ -static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) -{ - UnityPrint(UnityStrExpected); - if (expected != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrint(expected); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } - UnityPrint(UnityStrWas); - if (actual != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrint(actual); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } -} - -/*-----------------------------------------------*/ -static void UnityPrintExpectedAndActualStringsLen(const char* expected, - const char* actual, - const UNITY_UINT32 length) -{ - UnityPrint(UnityStrExpected); - if (expected != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrintLen(expected, length); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } - UnityPrint(UnityStrWas); - if (actual != NULL) - { - UNITY_OUTPUT_CHAR('\''); - UnityPrintLen(actual, length); - UNITY_OUTPUT_CHAR('\''); - } - else - { - UnityPrint(UnityStrNull); - } -} - -/*----------------------------------------------- - * Assertion & Control Helpers - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -static int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_LINE_TYPE lineNumber, - const char* msg) -{ - /* Both are NULL or same pointer */ - if (expected == actual) { return 0; } - - /* print and return true if just expected is NULL */ - if (expected == NULL) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrNullPointerForExpected); - UnityAddMsgIfSpecified(msg); - return 1; - } - - /* print and return true if just actual is NULL */ - if (actual == NULL) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrNullPointerForActual); - UnityAddMsgIfSpecified(msg); - return 1; - } - - return 0; /* return false if neither is NULL */ -} - -/*----------------------------------------------- - * Assertion Functions - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -void UnityAssertBits(const UNITY_INT mask, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if ((mask & expected) != (mask & actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)expected); - UnityPrint(UnityStrWas); - UnityPrintMask((UNITY_UINT)mask, (UNITY_UINT)actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualNumber(const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if (expected != actual) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expected, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, - const UNITY_INT actual, - const UNITY_COMPARISON_T compare, - const char *msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - int failed = 0; - RETURN_IF_FAIL_OR_IGNORE; - - if ((threshold == actual) && (compare & UNITY_EQUAL_TO)) { return; } - if ((threshold == actual)) { failed = 1; } - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } - if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } - } - else /* UINT or HEX */ - { - if (((UNITY_UINT)actual > (UNITY_UINT)threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; } - if (((UNITY_UINT)actual < (UNITY_UINT)threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; } - } - - if (failed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(actual, style); - if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt); } - if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt); } - if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); } - if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); } - UnityPrintNumberByStyle(threshold, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#define UnityPrintPointlessAndBail() \ -{ \ - UnityTestResultsFailBegin(lineNumber); \ - UnityPrint(UnityStrPointless); \ - UnityAddMsgIfSpecified(msg); \ - UNITY_FAIL_AND_BAIL; } - -/*-----------------------------------------------*/ -void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - unsigned int length = style & 0xF; - unsigned int increment = 0; - - RETURN_IF_FAIL_OR_IGNORE; - - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while ((elements > 0) && (elements--)) - { - UNITY_INT expect_val; - UNITY_INT actual_val; - - switch (length) - { - case 1: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; - increment = sizeof(UNITY_INT8); - break; - - case 2: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; - increment = sizeof(UNITY_INT16); - break; - -#ifdef UNITY_SUPPORT_64 - case 8: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; - increment = sizeof(UNITY_INT64); - break; -#endif - - default: /* default is length 4 bytes */ - case 4: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; - increment = sizeof(UNITY_INT32); - length = 4; - break; - } - - if (expect_val != actual_val) - { - if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) - { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ - UNITY_INT mask = 1; - mask = (mask << 8 * length) - 1; - expect_val &= mask; - actual_val &= mask; - } - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expect_val, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - /* Walk through array by incrementing the pointers */ - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); - } - actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); - } -} - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_FLOAT -/* Wrap this define in a function with variable types as float or double */ -#define UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff) \ - if (isinf(expected) && isinf(actual) && (((expected) < 0) == ((actual) < 0))) return 1; \ - if (UNITY_NAN_CHECK) return 1; \ - (diff) = (actual) - (expected); \ - if ((diff) < 0) (diff) = -(diff); \ - if ((delta) < 0) (delta) = -(delta); \ - return !(isnan(diff) || isinf(diff) || ((diff) > (delta))) - /* This first part of this condition will catch any NaN or Infinite values */ -#ifndef UNITY_NAN_NOT_EQUAL_NAN - #define UNITY_NAN_CHECK isnan(expected) && isnan(actual) -#else - #define UNITY_NAN_CHECK 0 -#endif - -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ - { \ - UnityPrint(UnityStrExpected); \ - UnityPrintFloat(expected); \ - UnityPrint(UnityStrWas); \ - UnityPrintFloat(actual); } -#else - #define UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual) \ - UnityPrint(UnityStrDelta) -#endif /* UNITY_EXCLUDE_FLOAT_PRINT */ - -/*-----------------------------------------------*/ -static int UnityFloatsWithin(UNITY_FLOAT delta, UNITY_FLOAT expected, UNITY_FLOAT actual) -{ - UNITY_FLOAT diff; - UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_expected = expected; - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_actual = actual; - - RETURN_IF_FAIL_OR_IGNORE; - - if (elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - if (!UnityFloatsWithin(*ptr_expected * UNITY_FLOAT_PRECISION, *ptr_expected, *ptr_actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)*ptr_expected, (UNITY_DOUBLE)*ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - if (flags == UNITY_ARRAY_TO_ARRAY) - { - ptr_expected++; - } - ptr_actual++; - } -} - -/*-----------------------------------------------*/ -void UnityAssertFloatsWithin(const UNITY_FLOAT delta, - const UNITY_FLOAT expected, - const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - - if (!UnityFloatsWithin(delta, expected, actual)) - { - UnityTestResultsFailBegin(lineNumber); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT((UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) -{ - const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; - UNITY_INT should_be_trait = ((UNITY_INT)style & 1); - UNITY_INT is_trait = !should_be_trait; - UNITY_INT trait_index = (UNITY_INT)(style >> 1); - - RETURN_IF_FAIL_OR_IGNORE; - - switch (style) - { - case UNITY_FLOAT_IS_INF: - case UNITY_FLOAT_IS_NOT_INF: - is_trait = isinf(actual) && (actual > 0); - break; - case UNITY_FLOAT_IS_NEG_INF: - case UNITY_FLOAT_IS_NOT_NEG_INF: - is_trait = isinf(actual) && (actual < 0); - break; - - case UNITY_FLOAT_IS_NAN: - case UNITY_FLOAT_IS_NOT_NAN: - is_trait = isnan(actual) ? 1 : 0; - break; - - case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ - case UNITY_FLOAT_IS_NOT_DET: - is_trait = !isinf(actual) && !isnan(actual); - break; - - case UNITY_FLOAT_INVALID_TRAIT: - default: - trait_index = 0; - trait_names[0] = UnityStrInvalidFloatTrait; - break; - } - - if (is_trait != should_be_trait) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - if (!should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); - UnityPrint(UnityStrWas); -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - UnityPrintFloat((UNITY_DOUBLE)actual); -#else - if (should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); -#endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#endif /* not UNITY_EXCLUDE_FLOAT */ - -/*-----------------------------------------------*/ -#ifndef UNITY_EXCLUDE_DOUBLE -static int UnityDoublesWithin(UNITY_DOUBLE delta, UNITY_DOUBLE expected, UNITY_DOUBLE actual) -{ - UNITY_DOUBLE diff; - UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_expected = expected; - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_actual = actual; - - RETURN_IF_FAIL_OR_IGNORE; - - if (elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - if (!UnityDoublesWithin(*ptr_expected * UNITY_DOUBLE_PRECISION, *ptr_expected, *ptr_actual)) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(*ptr_expected, *ptr_actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - if (flags == UNITY_ARRAY_TO_ARRAY) - { - ptr_expected++; - } - ptr_actual++; - } -} - -/*-----------------------------------------------*/ -void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, - const UNITY_DOUBLE expected, - const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if (!UnityDoublesWithin(delta, expected, actual)) - { - UnityTestResultsFailBegin(lineNumber); - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style) -{ - const char* trait_names[] = {UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet}; - UNITY_INT should_be_trait = ((UNITY_INT)style & 1); - UNITY_INT is_trait = !should_be_trait; - UNITY_INT trait_index = (UNITY_INT)(style >> 1); - - RETURN_IF_FAIL_OR_IGNORE; - - switch (style) - { - case UNITY_FLOAT_IS_INF: - case UNITY_FLOAT_IS_NOT_INF: - is_trait = isinf(actual) && (actual > 0); - break; - case UNITY_FLOAT_IS_NEG_INF: - case UNITY_FLOAT_IS_NOT_NEG_INF: - is_trait = isinf(actual) && (actual < 0); - break; - - case UNITY_FLOAT_IS_NAN: - case UNITY_FLOAT_IS_NOT_NAN: - is_trait = isnan(actual) ? 1 : 0; - break; - - case UNITY_FLOAT_IS_DET: /* A determinate number is non infinite and not NaN. */ - case UNITY_FLOAT_IS_NOT_DET: - is_trait = !isinf(actual) && !isnan(actual); - break; - - case UNITY_FLOAT_INVALID_TRAIT: - default: - trait_index = 0; - trait_names[0] = UnityStrInvalidFloatTrait; - break; - } - - if (is_trait != should_be_trait) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrExpected); - if (!should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); - UnityPrint(UnityStrWas); -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - UnityPrintFloat(actual); -#else - if (should_be_trait) - { - UnityPrint(UnityStrNot); - } - UnityPrint(trait_names[trait_index]); -#endif - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -#endif /* not UNITY_EXCLUDE_DOUBLE */ - -/*-----------------------------------------------*/ -void UnityAssertNumbersWithin(const UNITY_UINT delta, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) -{ - RETURN_IF_FAIL_OR_IGNORE; - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (actual > expected) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); - } - } - else - { - if ((UNITY_UINT)actual > (UNITY_UINT)expected) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta); - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrDelta); - UnityPrintNumberByStyle((UNITY_INT)delta, style); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expected, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, - UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 elements = num_elements; - unsigned int length = style & 0xF; - unsigned int increment = 0; - - RETURN_IF_FAIL_OR_IGNORE; - - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while ((elements > 0) && (elements--)) - { - UNITY_INT expect_val; - UNITY_INT actual_val; - - switch (length) - { - case 1: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT8*)actual; - increment = sizeof(UNITY_INT8); - break; - - case 2: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; - increment = sizeof(UNITY_INT16); - break; - -#ifdef UNITY_SUPPORT_64 - case 8: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; - increment = sizeof(UNITY_INT64); - break; -#endif - - default: /* default is length 4 bytes */ - case 4: - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; - increment = sizeof(UNITY_INT32); - length = 4; - break; - } - - if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) - { - if (actual_val > expect_val) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); - } - } - else - { - if ((UNITY_UINT)actual_val > (UNITY_UINT)expect_val) - { - Unity.CurrentTestFailed = (((UNITY_UINT)actual_val - (UNITY_UINT)expect_val) > delta); - } - else - { - Unity.CurrentTestFailed = (((UNITY_UINT)expect_val - (UNITY_UINT)actual_val) > delta); - } - } - - if (Unity.CurrentTestFailed) - { - if ((style & UNITY_DISPLAY_RANGE_UINT) && (length < (UNITY_INT_WIDTH / 8))) - { /* For UINT, remove sign extension (padding 1's) from signed type casts above */ - UNITY_INT mask = 1; - mask = (mask << 8 * length) - 1; - expect_val &= mask; - actual_val &= mask; - } - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrDelta); - UnityPrintNumberByStyle((UNITY_INT)delta, style); - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(expect_val, style); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(actual_val, style); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - /* Walk through array by incrementing the pointers */ - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expected = (UNITY_INTERNAL_PTR)((const char*)expected + increment); - } - actual = (UNITY_INTERNAL_PTR)((const char*)actual + increment); - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualString(const char* expected, - const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - UNITY_UINT32 i; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if both pointers not null compare the strings */ - if (expected && actual) - { - for (i = 0; expected[i] || actual[i]; i++) - { - if (expected[i] != actual[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expected != actual) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStrings(expected, actual); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualStringLen(const char* expected, - const char* actual, - const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber) -{ - UNITY_UINT32 i; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if both pointers not null compare the strings */ - if (expected && actual) - { - for (i = 0; (i < length) && (expected[i] || actual[i]); i++) - { - if (expected[i] != actual[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expected != actual) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrintExpectedAndActualStringsLen(expected, actual, length); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } -} - -/*-----------------------------------------------*/ -void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, - const char** actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_UINT32 i = 0; - UNITY_UINT32 j = 0; - const char* expd = NULL; - const char* act = NULL; - - RETURN_IF_FAIL_OR_IGNORE; - - /* if no elements, it's an error */ - if (num_elements == 0) - { - UnityPrintPointlessAndBail(); - } - - if ((const void*)expected == (const void*)actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - if (flags != UNITY_ARRAY_TO_ARRAY) - { - expd = (const char*)expected; - } - - do - { - act = actual[j]; - if (flags == UNITY_ARRAY_TO_ARRAY) - { - expd = ((const char* const*)expected)[j]; - } - - /* if both pointers not null compare the strings */ - if (expd && act) - { - for (i = 0; expd[i] || act[i]; i++) - { - if (expd[i] != act[i]) - { - Unity.CurrentTestFailed = 1; - break; - } - } - } - else - { /* handle case of one pointers being null (if both null, test should pass) */ - if (expd != act) - { - Unity.CurrentTestFailed = 1; - } - } - - if (Unity.CurrentTestFailed) - { - UnityTestResultsFailBegin(lineNumber); - if (num_elements > 1) - { - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(j); - } - UnityPrintExpectedAndActualStrings(expd, act); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - } while (++j < num_elements); -} - -/*-----------------------------------------------*/ -void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 length, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags) -{ - UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; - UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; - UNITY_UINT32 elements = num_elements; - UNITY_UINT32 bytes; - - RETURN_IF_FAIL_OR_IGNORE; - - if ((elements == 0) || (length == 0)) - { - UnityPrintPointlessAndBail(); - } - - if (expected == actual) - { - return; /* Both are NULL or same pointer */ - } - - if (UnityIsOneArrayNull(expected, actual, lineNumber, msg)) - { - UNITY_FAIL_AND_BAIL; - } - - while (elements--) - { - bytes = length; - while (bytes--) - { - if (*ptr_exp != *ptr_act) - { - UnityTestResultsFailBegin(lineNumber); - UnityPrint(UnityStrMemory); - if (num_elements > 1) - { - UnityPrint(UnityStrElement); - UnityPrintNumberUnsigned(num_elements - elements - 1); - } - UnityPrint(UnityStrByte); - UnityPrintNumberUnsigned(length - bytes - 1); - UnityPrint(UnityStrExpected); - UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); - UnityPrint(UnityStrWas); - UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); - UnityAddMsgIfSpecified(msg); - UNITY_FAIL_AND_BAIL; - } - ptr_exp++; - ptr_act++; - } - if (flags == UNITY_ARRAY_TO_VAL) - { - ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; - } - } -} - -/*-----------------------------------------------*/ - -static union -{ - UNITY_INT8 i8; - UNITY_INT16 i16; - UNITY_INT32 i32; -#ifdef UNITY_SUPPORT_64 - UNITY_INT64 i64; -#endif -#ifndef UNITY_EXCLUDE_FLOAT - float f; -#endif -#ifndef UNITY_EXCLUDE_DOUBLE - double d; -#endif -} UnityQuickCompare; - -UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size) -{ - switch(size) - { - case 1: - UnityQuickCompare.i8 = (UNITY_INT8)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i8); - - case 2: - UnityQuickCompare.i16 = (UNITY_INT16)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i16); - -#ifdef UNITY_SUPPORT_64 - case 8: - UnityQuickCompare.i64 = (UNITY_INT64)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i64); -#endif - - default: /* 4 bytes */ - UnityQuickCompare.i32 = (UNITY_INT32)num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i32); - } -} - -#ifndef UNITY_EXCLUDE_FLOAT -/*-----------------------------------------------*/ -UNITY_INTERNAL_PTR UnityFloatToPtr(const float num) -{ - UnityQuickCompare.f = num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.f); -} -#endif - -#ifndef UNITY_EXCLUDE_DOUBLE -/*-----------------------------------------------*/ -UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num) -{ - UnityQuickCompare.d = num; - return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.d); -} -#endif - -/*----------------------------------------------- - * printf helper function - *-----------------------------------------------*/ -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -static void UnityPrintFVA(const char* format, va_list va) -{ - const char* pch = format; - if (pch != NULL) - { - while (*pch) - { - /* format identification character */ - if (*pch == '%') - { - pch++; - - if (pch != NULL) - { - switch (*pch) - { - case 'd': - case 'i': - { - const int number = va_arg(va, int); - UnityPrintNumber((UNITY_INT)number); - break; - } -#ifndef UNITY_EXCLUDE_FLOAT_PRINT - case 'f': - case 'g': - { - const double number = va_arg(va, double); - UnityPrintFloat((UNITY_DOUBLE)number); - break; - } -#endif - case 'u': - { - const unsigned int number = va_arg(va, unsigned int); - UnityPrintNumberUnsigned((UNITY_UINT)number); - break; - } - case 'b': - { - const unsigned int number = va_arg(va, unsigned int); - const UNITY_UINT mask = (UNITY_UINT)0 - (UNITY_UINT)1; - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('b'); - UnityPrintMask(mask, (UNITY_UINT)number); - break; - } - case 'x': - case 'X': - case 'p': - { - const unsigned int number = va_arg(va, unsigned int); - UNITY_OUTPUT_CHAR('0'); - UNITY_OUTPUT_CHAR('x'); - UnityPrintNumberHex((UNITY_UINT)number, 8); - break; - } - case 'c': - { - const int ch = va_arg(va, int); - UnityPrintChar((const char *)&ch); - break; - } - case 's': - { - const char * string = va_arg(va, const char *); - UnityPrint(string); - break; - } - case '%': - { - UnityPrintChar(pch); - break; - } - default: - { - /* print the unknown format character */ - UNITY_OUTPUT_CHAR('%'); - UnityPrintChar(pch); - break; - } - } - } - } -#ifdef UNITY_OUTPUT_COLOR - /* print ANSI escape code */ - else if ((*pch == 27) && (*(pch + 1) == '[')) - { - pch += UnityPrintAnsiEscapeString(pch); - continue; - } -#endif - else if (*pch == '\n') - { - UNITY_PRINT_EOL(); - } - else - { - UnityPrintChar(pch); - } - - pch++; - } - } -} - -void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint("INFO"); - if(format != NULL) - { - UnityPrint(": "); - va_list va; - va_start(va, format); - UnityPrintFVA(format, va); - va_end(va); - } - UNITY_PRINT_EOL(); -} -#endif /* ! UNITY_INCLUDE_PRINT_FORMATTED */ - - -/*----------------------------------------------- - * Control Functions - *-----------------------------------------------*/ - -/*-----------------------------------------------*/ -void UnityFail(const char* msg, const UNITY_LINE_TYPE line) -{ - RETURN_IF_FAIL_OR_IGNORE; - - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrFail); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - -#ifdef UNITY_PRINT_TEST_CONTEXT - UNITY_PRINT_TEST_CONTEXT(); -#endif -#ifndef UNITY_EXCLUDE_DETAILS - if (Unity.CurrentDetail1) - { - UnityPrint(UnityStrDetail1Name); - UnityPrint(Unity.CurrentDetail1); - if (Unity.CurrentDetail2) - { - UnityPrint(UnityStrDetail2Name); - UnityPrint(Unity.CurrentDetail2); - } - UnityPrint(UnityStrSpacer); - } -#endif - if (msg[0] != ' ') - { - UNITY_OUTPUT_CHAR(' '); - } - UnityPrint(msg); - } - - UNITY_FAIL_AND_BAIL; -} - -/*-----------------------------------------------*/ -void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) -{ - RETURN_IF_FAIL_OR_IGNORE; - - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint(UnityStrIgnore); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(msg); - } - UNITY_IGNORE_AND_BAIL; -} - -/*-----------------------------------------------*/ -void UnityMessage(const char* msg, const UNITY_LINE_TYPE line) -{ - UnityTestResultsBegin(Unity.TestFile, line); - UnityPrint("INFO"); - if (msg != NULL) - { - UNITY_OUTPUT_CHAR(':'); - UNITY_OUTPUT_CHAR(' '); - UnityPrint(msg); - } - UNITY_PRINT_EOL(); -} - -/*-----------------------------------------------*/ -/* If we have not defined our own test runner, then include our default test runner to make life easier */ -#ifndef UNITY_SKIP_DEFAULT_RUNNER -void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum) -{ - Unity.CurrentTestName = FuncName; - Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)FuncLineNum; - Unity.NumberOfTests++; - UNITY_CLR_DETAILS(); - UNITY_EXEC_TIME_START(); - if (TEST_PROTECT()) - { - setUp(); - Func(); - } - if (TEST_PROTECT()) - { - tearDown(); - } - UNITY_EXEC_TIME_STOP(); - UnityConcludeTest(); -} -#endif - -/*-----------------------------------------------*/ -void UnitySetTestFile(const char* filename) -{ - Unity.TestFile = filename; -} - -/*-----------------------------------------------*/ -void UnityBegin(const char* filename) -{ - Unity.TestFile = filename; - Unity.CurrentTestName = NULL; - Unity.CurrentTestLineNumber = 0; - Unity.NumberOfTests = 0; - Unity.TestFailures = 0; - Unity.TestIgnores = 0; - Unity.CurrentTestFailed = 0; - Unity.CurrentTestIgnored = 0; - - UNITY_CLR_DETAILS(); - UNITY_OUTPUT_START(); -} - -/*-----------------------------------------------*/ -int UnityEnd(void) -{ - UNITY_PRINT_EOL(); - UnityPrint(UnityStrBreaker); - UNITY_PRINT_EOL(); - UnityPrintNumber((UNITY_INT)(Unity.NumberOfTests)); - UnityPrint(UnityStrResultsTests); - UnityPrintNumber((UNITY_INT)(Unity.TestFailures)); - UnityPrint(UnityStrResultsFailures); - UnityPrintNumber((UNITY_INT)(Unity.TestIgnores)); - UnityPrint(UnityStrResultsIgnored); - UNITY_PRINT_EOL(); - if (Unity.TestFailures == 0U) - { - UnityPrint(UnityStrOk); - } - else - { - UnityPrint(UnityStrFail); -#ifdef UNITY_DIFFERENTIATE_FINAL_FAIL - UNITY_OUTPUT_CHAR('E'); UNITY_OUTPUT_CHAR('D'); -#endif - } - UNITY_PRINT_EOL(); - UNITY_FLUSH_CALL(); - UNITY_OUTPUT_COMPLETE(); - return (int)(Unity.TestFailures); -} - -/*----------------------------------------------- - * Command Line Argument Support - *-----------------------------------------------*/ -#ifdef UNITY_USE_COMMAND_LINE_ARGS - -char* UnityOptionIncludeNamed = NULL; -char* UnityOptionExcludeNamed = NULL; -int UnityVerbosity = 1; - -/*-----------------------------------------------*/ -int UnityParseOptions(int argc, char** argv) -{ - int i; - UnityOptionIncludeNamed = NULL; - UnityOptionExcludeNamed = NULL; - - for (i = 1; i < argc; i++) - { - if (argv[i][0] == '-') - { - switch (argv[i][1]) - { - case 'l': /* list tests */ - return -1; - case 'n': /* include tests with name including this string */ - case 'f': /* an alias for -n */ - if (argv[i][2] == '=') - { - UnityOptionIncludeNamed = &argv[i][3]; - } - else if (++i < argc) - { - UnityOptionIncludeNamed = argv[i]; - } - else - { - UnityPrint("ERROR: No Test String to Include Matches For"); - UNITY_PRINT_EOL(); - return 1; - } - break; - case 'q': /* quiet */ - UnityVerbosity = 0; - break; - case 'v': /* verbose */ - UnityVerbosity = 2; - break; - case 'x': /* exclude tests with name including this string */ - if (argv[i][2] == '=') - { - UnityOptionExcludeNamed = &argv[i][3]; - } - else if (++i < argc) - { - UnityOptionExcludeNamed = argv[i]; - } - else - { - UnityPrint("ERROR: No Test String to Exclude Matches For"); - UNITY_PRINT_EOL(); - return 1; - } - break; - default: - UnityPrint("ERROR: Unknown Option "); - UNITY_OUTPUT_CHAR(argv[i][1]); - UNITY_PRINT_EOL(); - return 1; - } - } - } - - return 0; -} - -/*-----------------------------------------------*/ -int IsStringInBiggerString(const char* longstring, const char* shortstring) -{ - const char* lptr = longstring; - const char* sptr = shortstring; - const char* lnext = lptr; - - if (*sptr == '*') - { - return 1; - } - - while (*lptr) - { - lnext = lptr + 1; - - /* If they current bytes match, go on to the next bytes */ - while (*lptr && *sptr && (*lptr == *sptr)) - { - lptr++; - sptr++; - - /* We're done if we match the entire string or up to a wildcard */ - if (*sptr == '*') - return 1; - if (*sptr == ',') - return 1; - if (*sptr == '"') - return 1; - if (*sptr == '\'') - return 1; - if (*sptr == ':') - return 2; - if (*sptr == 0) - return 1; - } - - /* Otherwise we start in the long pointer 1 character further and try again */ - lptr = lnext; - sptr = shortstring; - } - - return 0; -} - -/*-----------------------------------------------*/ -int UnityStringArgumentMatches(const char* str) -{ - int retval; - const char* ptr1; - const char* ptr2; - const char* ptrf; - - /* Go through the options and get the substrings for matching one at a time */ - ptr1 = str; - while (ptr1[0] != 0) - { - if ((ptr1[0] == '"') || (ptr1[0] == '\'')) - { - ptr1++; - } - - /* look for the start of the next partial */ - ptr2 = ptr1; - ptrf = 0; - do - { - ptr2++; - if ((ptr2[0] == ':') && (ptr2[1] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')) - { - ptrf = &ptr2[1]; - } - } while ((ptr2[0] != 0) && (ptr2[0] != '\'') && (ptr2[0] != '"') && (ptr2[0] != ',')); - - while ((ptr2[0] != 0) && ((ptr2[0] == ':') || (ptr2[0] == '\'') || (ptr2[0] == '"') || (ptr2[0] == ','))) - { - ptr2++; - } - - /* done if complete filename match */ - retval = IsStringInBiggerString(Unity.TestFile, ptr1); - if (retval == 1) - { - return retval; - } - - /* done if testname match after filename partial match */ - if ((retval == 2) && (ptrf != 0)) - { - if (IsStringInBiggerString(Unity.CurrentTestName, ptrf)) - { - return 1; - } - } - - /* done if complete testname match */ - if (IsStringInBiggerString(Unity.CurrentTestName, ptr1) == 1) - { - return 1; - } - - ptr1 = ptr2; - } - - /* we couldn't find a match for any substrings */ - return 0; -} - -/*-----------------------------------------------*/ -int UnityTestMatches(void) -{ - /* Check if this test name matches the included test pattern */ - int retval; - if (UnityOptionIncludeNamed) - { - retval = UnityStringArgumentMatches(UnityOptionIncludeNamed); - } - else - { - retval = 1; - } - - /* Check if this test name matches the excluded test pattern */ - if (UnityOptionExcludeNamed) - { - if (UnityStringArgumentMatches(UnityOptionExcludeNamed)) - { - retval = 0; - } - } - - return retval; -} - -#endif /* UNITY_USE_COMMAND_LINE_ARGS */ -/*-----------------------------------------------*/ diff --git a/solution_2a/test_unity/unity.h b/solution_2a/test_unity/unity.h deleted file mode 100644 index 7e3a70ab..00000000 --- a/solution_2a/test_unity/unity.h +++ /dev/null @@ -1,661 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_FRAMEWORK_H -#define UNITY_FRAMEWORK_H -#define UNITY - -#define UNITY_VERSION_MAJOR 2 -#define UNITY_VERSION_MINOR 5 -#define UNITY_VERSION_BUILD 1 -#define UNITY_VERSION ((UNITY_VERSION_MAJOR << 16) | (UNITY_VERSION_MINOR << 8) | UNITY_VERSION_BUILD) - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "unity_internals.h" - -/*------------------------------------------------------- - * Test Setup / Teardown - *-------------------------------------------------------*/ - -/* These functions are intended to be called before and after each test. - * If using unity directly, these will need to be provided for each test - * executable built. If you are using the test runner generator and/or - * Ceedling, these are optional. */ -void setUp(void); -void tearDown(void); - -/* These functions are intended to be called at the beginning and end of an - * entire test suite. suiteTearDown() is passed the number of tests that - * failed, and its return value becomes the exit code of main(). If using - * Unity directly, you're in charge of calling these if they are desired. - * If using Ceedling or the test runner generator, these will be called - * automatically if they exist. */ -void suiteSetUp(void); -int suiteTearDown(int num_failures); - -/*------------------------------------------------------- - * Test Reset and Verify - *-------------------------------------------------------*/ - -/* These functions are intended to be called before during tests in order - * to support complex test loops, etc. Both are NOT built into Unity. Instead - * the test runner generator will create them. resetTest will run teardown and - * setup again, verifying any end-of-test needs between. verifyTest will only - * run the verification. */ -void resetTest(void); -void verifyTest(void); - -/*------------------------------------------------------- - * Configuration Options - *------------------------------------------------------- - * All options described below should be passed as a compiler flag to all files using Unity. If you must add #defines, place them BEFORE the #include above. - - * Integers/longs/pointers - * - Unity attempts to automatically discover your integer sizes - * - define UNITY_EXCLUDE_STDINT_H to stop attempting to look in - * - define UNITY_EXCLUDE_LIMITS_H to stop attempting to look in - * - If you cannot use the automatic methods above, you can force Unity by using these options: - * - define UNITY_SUPPORT_64 - * - set UNITY_INT_WIDTH - * - set UNITY_LONG_WIDTH - * - set UNITY_POINTER_WIDTH - - * Floats - * - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons - * - define UNITY_FLOAT_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_FLOAT - * - define UNITY_FLOAT_TYPE to specify doubles instead of single precision floats - * - define UNITY_INCLUDE_DOUBLE to allow double floating point comparisons - * - define UNITY_EXCLUDE_DOUBLE to disallow double floating point comparisons (default) - * - define UNITY_DOUBLE_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_DOUBLE - * - define UNITY_DOUBLE_TYPE to specify something other than double - * - define UNITY_EXCLUDE_FLOAT_PRINT to trim binary size, won't print floating point values in errors - - * Output - * - by default, Unity prints to standard out with putchar. define UNITY_OUTPUT_CHAR(a) with a different function if desired - * - define UNITY_DIFFERENTIATE_FINAL_FAIL to print FAILED (vs. FAIL) at test end summary - for automated search for failure - - * Optimization - * - by default, line numbers are stored in unsigned shorts. Define UNITY_LINE_TYPE with a different type if your files are huge - * - by default, test and failure counters are unsigned shorts. Define UNITY_COUNTER_TYPE with a different type if you want to save space or have more than 65535 Tests. - - * Test Cases - * - define UNITY_SUPPORT_TEST_CASES to include the TEST_CASE macro, though really it's mostly about the runner generator script - - * Parameterized Tests - * - you'll want to create a define of TEST_CASE(...) which basically evaluates to nothing - - * Tests with Arguments - * - you'll want to define UNITY_USE_COMMAND_LINE_ARGS if you have the test runner passing arguments to Unity - - *------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, (message)) -#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) -#define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, (message)) -#define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) -#define TEST_MESSAGE(message) UnityMessage((message), __LINE__) -#define TEST_ONLY() -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -#define TEST_PRINTF(message, ...) UnityPrintF(__LINE__, (message), __VA_ARGS__) -#endif - -/* It is not necessary for you to call PASS. A PASS condition is assumed if nothing fails. - * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ -#define TEST_PASS() TEST_ABORT() -#define TEST_PASS_MESSAGE(message) do { UnityMessage((message), __LINE__); TEST_ABORT(); } while(0) - -/* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out - * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ -#define TEST_FILE(a) - -/*------------------------------------------------------- - * Test Asserts (simple) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expression Evaluated To FALSE") -#define TEST_ASSERT_TRUE(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expected TRUE Was FALSE") -#define TEST_ASSERT_UNLESS(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expression Evaluated To TRUE") -#define TEST_ASSERT_FALSE(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expected FALSE Was TRUE") -#define TEST_ASSERT_NULL(pointer) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, " Expected NULL") -#define TEST_ASSERT_NOT_NULL(pointer) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, " Expected Non-NULL") -#define TEST_ASSERT_EMPTY(pointer) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, " Expected Empty") -#define TEST_ASSERT_NOT_EMPTY(pointer) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, " Expected Non-Empty") - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_size_t(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_CHAR(expected, actual) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS(mask, expected, actual) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_HIGH(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_LOW(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT)(0), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_HIGH(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT)1 << (bit)), (UNITY_UINT)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_LOW(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT)1 << (bit)), (UNITY_UINT)(0), (actual), __LINE__, NULL) - -/* Integer Not Equal To (of all sizes) */ -#define TEST_ASSERT_NOT_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_size_t(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_CHAR(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, NULL) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_size_t_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_CHAR_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, NULL) - -/* Integer Array Ranges (of all sizes) */ -#define TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_size_t_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) -#define TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, NULL) - - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_size_t_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) - -/* Arrays Compared To Single Value */ -#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_size_t(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, NULL) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/* Shorthand */ -#ifdef UNITY_SHORTHAND_AS_OLD -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") -#endif -#ifdef UNITY_SHORTHAND_AS_INT -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_MEM -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_RAW -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, " Expected Equal") -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") -#endif -#ifdef UNITY_SHORTHAND_AS_NONE -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif - -/*------------------------------------------------------- - * Test Asserts (with additional messages) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_FALSE_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, (message)) -#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, (message)) -#define TEST_ASSERT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_EMPTY( (pointer), __LINE__, (message)) -#define TEST_ASSERT_NOT_EMPTY_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_EMPTY((pointer), __LINE__, (message)) - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_size_t_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_CHAR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_CHAR((expected), (actual), __LINE__, (message)) - -/* Integer Not Equal To (of all sizes) */ -#define TEST_ASSERT_NOT_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_NOT_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_size_t_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_CHAR_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR((threshold), (actual), __LINE__, (message)) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_size_t_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_CHAR_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_CHAR_WITHIN((delta), (expected), (actual), __LINE__, (message)) - -/* Integer Array Ranges (of all sizes) */ -#define TEST_ASSERT_INT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_size_t_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX8_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX16_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX32_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) -#define TEST_ASSERT_CHAR_ARRAY_WITHIN_MESSAGE(delta, expected, actual, num_elements, message) UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN((delta), (expected), (actual), num_elements, __LINE__, (message)) - - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_size_t_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_CHAR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) - -/* Arrays Compared To Single Value*/ -#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_size_t_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_CHAR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_CHAR((expected), (actual), (num_elements), __LINE__, (message)) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* Shorthand */ -#ifdef UNITY_SHORTHAND_AS_OLD -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, (message)) -#endif -#ifdef UNITY_SHORTHAND_AS_INT -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_MEM -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((&expected), (&actual), sizeof(expected), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif -#ifdef UNITY_SHORTHAND_AS_RAW -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) == (actual)), __LINE__, message) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, message) -#endif -#ifdef UNITY_SHORTHAND_AS_NONE -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_FAIL(__LINE__, UnityStrErrShorthand) -#endif - -/* end of UNITY_FRAMEWORK_H */ -#ifdef __cplusplus -} -#endif -#endif diff --git a/solution_2a/test_unity/unity_internals.h b/solution_2a/test_unity/unity_internals.h deleted file mode 100644 index 0af52585..00000000 --- a/solution_2a/test_unity/unity_internals.h +++ /dev/null @@ -1,1033 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-19 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_INTERNALS_H -#define UNITY_INTERNALS_H - -#ifdef UNITY_INCLUDE_CONFIG_H -#include "unity_config.h" -#endif - -#ifndef UNITY_EXCLUDE_SETJMP_H -#include -#endif - -#ifndef UNITY_EXCLUDE_MATH_H -#include -#endif - -#ifndef UNITY_EXCLUDE_STDDEF_H -#include -#endif - -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -#include -#endif - -/* Unity Attempts to Auto-Detect Integer Types - * Attempt 1: UINT_MAX, ULONG_MAX in , or default to 32 bits - * Attempt 2: UINTPTR_MAX in , or default to same size as long - * The user may override any of these derived constants: - * UNITY_INT_WIDTH, UNITY_LONG_WIDTH, UNITY_POINTER_WIDTH */ -#ifndef UNITY_EXCLUDE_STDINT_H -#include -#endif - -#ifndef UNITY_EXCLUDE_LIMITS_H -#include -#endif - -#if defined __GNUC__ -# define UNITY_FUNCTION_ATTR(a) __attribute__((a)) -#else -# define UNITY_FUNCTION_ATTR(a) /* ignore */ -#endif - -/*------------------------------------------------------- - * Guess Widths If Not Specified - *-------------------------------------------------------*/ - -/* Determine the size of an int, if not already specified. - * We cannot use sizeof(int), because it is not yet defined - * at this stage in the translation of the C program. - * Also sizeof(int) does return the size in addressable units on all platforms, - * which may not necessarily be the size in bytes. - * Therefore, infer it from UINT_MAX if possible. */ -#ifndef UNITY_INT_WIDTH - #ifdef UINT_MAX - #if (UINT_MAX == 0xFFFF) - #define UNITY_INT_WIDTH (16) - #elif (UINT_MAX == 0xFFFFFFFF) - #define UNITY_INT_WIDTH (32) - #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_INT_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_INT_WIDTH (32) - #endif /* UINT_MAX */ -#endif - -/* Determine the size of a long, if not already specified. */ -#ifndef UNITY_LONG_WIDTH - #ifdef ULONG_MAX - #if (ULONG_MAX == 0xFFFF) - #define UNITY_LONG_WIDTH (16) - #elif (ULONG_MAX == 0xFFFFFFFF) - #define UNITY_LONG_WIDTH (32) - #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_LONG_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_LONG_WIDTH (32) - #endif /* ULONG_MAX */ -#endif - -/* Determine the size of a pointer, if not already specified. */ -#ifndef UNITY_POINTER_WIDTH - #ifdef UINTPTR_MAX - #if (UINTPTR_MAX <= 0xFFFF) - #define UNITY_POINTER_WIDTH (16) - #elif (UINTPTR_MAX <= 0xFFFFFFFF) - #define UNITY_POINTER_WIDTH (32) - #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF) - #define UNITY_POINTER_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH - #endif /* UINTPTR_MAX */ -#endif - -/*------------------------------------------------------- - * Int Support (Define types based on detected sizes) - *-------------------------------------------------------*/ - -#if (UNITY_INT_WIDTH == 32) - typedef unsigned char UNITY_UINT8; - typedef unsigned short UNITY_UINT16; - typedef unsigned int UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed short UNITY_INT16; - typedef signed int UNITY_INT32; -#elif (UNITY_INT_WIDTH == 16) - typedef unsigned char UNITY_UINT8; - typedef unsigned int UNITY_UINT16; - typedef unsigned long UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed int UNITY_INT16; - typedef signed long UNITY_INT32; -#else - #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) -#endif - -/*------------------------------------------------------- - * 64-bit Support - *-------------------------------------------------------*/ - -/* Auto-detect 64 Bit Support */ -#ifndef UNITY_SUPPORT_64 - #if UNITY_LONG_WIDTH == 64 || UNITY_POINTER_WIDTH == 64 - #define UNITY_SUPPORT_64 - #endif -#endif - -/* 64-Bit Support Dependent Configuration */ -#ifndef UNITY_SUPPORT_64 - /* No 64-bit Support */ - typedef UNITY_UINT32 UNITY_UINT; - typedef UNITY_INT32 UNITY_INT; - #define UNITY_MAX_NIBBLES (8) /* Maximum number of nibbles in a UNITY_(U)INT */ -#else - /* 64-bit Support */ - #if (UNITY_LONG_WIDTH == 32) - typedef unsigned long long UNITY_UINT64; - typedef signed long long UNITY_INT64; - #elif (UNITY_LONG_WIDTH == 64) - typedef unsigned long UNITY_UINT64; - typedef signed long UNITY_INT64; - #else - #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) - #endif - typedef UNITY_UINT64 UNITY_UINT; - typedef UNITY_INT64 UNITY_INT; - #define UNITY_MAX_NIBBLES (16) /* Maximum number of nibbles in a UNITY_(U)INT */ -#endif - -/*------------------------------------------------------- - * Pointer Support - *-------------------------------------------------------*/ - -#if (UNITY_POINTER_WIDTH == 32) - #define UNITY_PTR_TO_INT UNITY_INT32 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 -#elif (UNITY_POINTER_WIDTH == 64) - #define UNITY_PTR_TO_INT UNITY_INT64 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 -#elif (UNITY_POINTER_WIDTH == 16) - #define UNITY_PTR_TO_INT UNITY_INT16 - #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 -#else - #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) -#endif - -#ifndef UNITY_PTR_ATTRIBUTE - #define UNITY_PTR_ATTRIBUTE -#endif - -#ifndef UNITY_INTERNAL_PTR - #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* -#endif - -/*------------------------------------------------------- - * Float Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_FLOAT - -/* No Floating Point Support */ -#ifndef UNITY_EXCLUDE_DOUBLE -#define UNITY_EXCLUDE_DOUBLE /* Remove double when excluding float support */ -#endif -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -#define UNITY_EXCLUDE_FLOAT_PRINT -#endif - -#else - -/* Floating Point Support */ -#ifndef UNITY_FLOAT_PRECISION -#define UNITY_FLOAT_PRECISION (0.00001f) -#endif -#ifndef UNITY_FLOAT_TYPE -#define UNITY_FLOAT_TYPE float -#endif -typedef UNITY_FLOAT_TYPE UNITY_FLOAT; - -/* isinf & isnan macros should be provided by math.h */ -#ifndef isinf -/* The value of Inf - Inf is NaN */ -#define isinf(n) (isnan((n) - (n)) && !isnan(n)) -#endif - -#ifndef isnan -/* NaN is the only floating point value that does NOT equal itself. - * Therefore if n != n, then it is NaN. */ -#define isnan(n) ((n != n) ? 1 : 0) -#endif - -#endif - -/*------------------------------------------------------- - * Double Float Support - *-------------------------------------------------------*/ - -/* unlike float, we DON'T include by default */ -#if defined(UNITY_EXCLUDE_DOUBLE) || !defined(UNITY_INCLUDE_DOUBLE) - - /* No Floating Point Support */ - #ifndef UNITY_EXCLUDE_DOUBLE - #define UNITY_EXCLUDE_DOUBLE - #else - #undef UNITY_INCLUDE_DOUBLE - #endif - - #ifndef UNITY_EXCLUDE_FLOAT - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_FLOAT UNITY_DOUBLE; - /* For parameter in UnityPrintFloat(UNITY_DOUBLE), which aliases to double or float */ - #endif - -#else - - /* Double Floating Point Support */ - #ifndef UNITY_DOUBLE_PRECISION - #define UNITY_DOUBLE_PRECISION (1e-12) - #endif - - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_DOUBLE_TYPE UNITY_DOUBLE; - -#endif - -/*------------------------------------------------------- - * Output Method: stdout (DEFAULT) - *-------------------------------------------------------*/ -#ifndef UNITY_OUTPUT_CHAR - /* Default to using putchar, which is defined in stdio.h */ - #include - #define UNITY_OUTPUT_CHAR(a) (void)putchar(a) -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION - extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH - #ifdef UNITY_USE_FLUSH_STDOUT - /* We want to use the stdout flush utility */ - #include - #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout) - #else - /* We've specified nothing, therefore flush should just be ignored */ - #define UNITY_OUTPUT_FLUSH() - #endif -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION - extern void UNITY_OUTPUT_FLUSH_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH -#define UNITY_FLUSH_CALL() -#else -#define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH() -#endif - -#ifndef UNITY_PRINT_EOL -#define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n') -#endif - -#ifndef UNITY_OUTPUT_START -#define UNITY_OUTPUT_START() -#endif - -#ifndef UNITY_OUTPUT_COMPLETE -#define UNITY_OUTPUT_COMPLETE() -#endif - -#ifdef UNITY_INCLUDE_EXEC_TIME - #if !defined(UNITY_EXEC_TIME_START) && \ - !defined(UNITY_EXEC_TIME_STOP) && \ - !defined(UNITY_PRINT_EXEC_TIME) && \ - !defined(UNITY_TIME_TYPE) - /* If none any of these macros are defined then try to provide a default implementation */ - - #if defined(UNITY_CLOCK_MS) - /* This is a simple way to get a default implementation on platforms that support getting a millisecond counter */ - #define UNITY_TIME_TYPE UNITY_UINT - #define UNITY_EXEC_TIME_START() Unity.CurrentTestStartTime = UNITY_CLOCK_MS() - #define UNITY_EXEC_TIME_STOP() Unity.CurrentTestStopTime = UNITY_CLOCK_MS() - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #elif defined(_WIN32) - #include - #define UNITY_TIME_TYPE clock_t - #define UNITY_GET_TIME(t) t = (clock_t)((clock() * 1000) / CLOCKS_PER_SEC) - #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) - #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #elif defined(__unix__) - #include - #define UNITY_TIME_TYPE struct timespec - #define UNITY_GET_TIME(t) clock_gettime(CLOCK_MONOTONIC, &t) - #define UNITY_EXEC_TIME_START() UNITY_GET_TIME(Unity.CurrentTestStartTime) - #define UNITY_EXEC_TIME_STOP() UNITY_GET_TIME(Unity.CurrentTestStopTime) - #define UNITY_PRINT_EXEC_TIME() { \ - UNITY_UINT execTimeMs = ((Unity.CurrentTestStopTime.tv_sec - Unity.CurrentTestStartTime.tv_sec) * 1000L); \ - execTimeMs += ((Unity.CurrentTestStopTime.tv_nsec - Unity.CurrentTestStartTime.tv_nsec) / 1000000L); \ - UnityPrint(" ("); \ - UnityPrintNumberUnsigned(execTimeMs); \ - UnityPrint(" ms)"); \ - } - #endif - #endif -#endif - -#ifndef UNITY_EXEC_TIME_START -#define UNITY_EXEC_TIME_START() do{}while(0) -#endif - -#ifndef UNITY_EXEC_TIME_STOP -#define UNITY_EXEC_TIME_STOP() do{}while(0) -#endif - -#ifndef UNITY_TIME_TYPE -#define UNITY_TIME_TYPE UNITY_UINT -#endif - -#ifndef UNITY_PRINT_EXEC_TIME -#define UNITY_PRINT_EXEC_TIME() do{}while(0) -#endif - -/*------------------------------------------------------- - * Footprint - *-------------------------------------------------------*/ - -#ifndef UNITY_LINE_TYPE -#define UNITY_LINE_TYPE UNITY_UINT -#endif - -#ifndef UNITY_COUNTER_TYPE -#define UNITY_COUNTER_TYPE UNITY_UINT -#endif - -/*------------------------------------------------------- - * Internal Structs Needed - *-------------------------------------------------------*/ - -typedef void (*UnityTestFunction)(void); - -#define UNITY_DISPLAY_RANGE_INT (0x10) -#define UNITY_DISPLAY_RANGE_UINT (0x20) -#define UNITY_DISPLAY_RANGE_HEX (0x40) -#define UNITY_DISPLAY_RANGE_CHAR (0x80) - -typedef enum -{ - UNITY_DISPLAY_STYLE_INT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, -#endif - - UNITY_DISPLAY_STYLE_UINT = (UNITY_INT_WIDTH / 8) + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, -#endif - - UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, -#endif - - UNITY_DISPLAY_STYLE_CHAR = 1 + UNITY_DISPLAY_RANGE_CHAR + UNITY_DISPLAY_RANGE_INT, - - UNITY_DISPLAY_STYLE_UNKNOWN -} UNITY_DISPLAY_STYLE_T; - -typedef enum -{ - UNITY_WITHIN = 0x0, - UNITY_EQUAL_TO = 0x1, - UNITY_GREATER_THAN = 0x2, - UNITY_GREATER_OR_EQUAL = 0x2 + UNITY_EQUAL_TO, - UNITY_SMALLER_THAN = 0x4, - UNITY_SMALLER_OR_EQUAL = 0x4 + UNITY_EQUAL_TO, - UNITY_NOT_EQUAL = 0x0, - UNITY_UNKNOWN -} UNITY_COMPARISON_T; - -#ifndef UNITY_EXCLUDE_FLOAT -typedef enum UNITY_FLOAT_TRAIT -{ - UNITY_FLOAT_IS_NOT_INF = 0, - UNITY_FLOAT_IS_INF, - UNITY_FLOAT_IS_NOT_NEG_INF, - UNITY_FLOAT_IS_NEG_INF, - UNITY_FLOAT_IS_NOT_NAN, - UNITY_FLOAT_IS_NAN, - UNITY_FLOAT_IS_NOT_DET, - UNITY_FLOAT_IS_DET, - UNITY_FLOAT_INVALID_TRAIT -} UNITY_FLOAT_TRAIT_T; -#endif - -typedef enum -{ - UNITY_ARRAY_TO_VAL = 0, - UNITY_ARRAY_TO_ARRAY, - UNITY_ARRAY_UNKNOWN -} UNITY_FLAGS_T; - -struct UNITY_STORAGE_T -{ - const char* TestFile; - const char* CurrentTestName; -#ifndef UNITY_EXCLUDE_DETAILS - const char* CurrentDetail1; - const char* CurrentDetail2; -#endif - UNITY_LINE_TYPE CurrentTestLineNumber; - UNITY_COUNTER_TYPE NumberOfTests; - UNITY_COUNTER_TYPE TestFailures; - UNITY_COUNTER_TYPE TestIgnores; - UNITY_COUNTER_TYPE CurrentTestFailed; - UNITY_COUNTER_TYPE CurrentTestIgnored; -#ifdef UNITY_INCLUDE_EXEC_TIME - UNITY_TIME_TYPE CurrentTestStartTime; - UNITY_TIME_TYPE CurrentTestStopTime; -#endif -#ifndef UNITY_EXCLUDE_SETJMP_H - jmp_buf AbortFrame; -#endif -}; - -extern struct UNITY_STORAGE_T Unity; - -/*------------------------------------------------------- - * Test Suite Management - *-------------------------------------------------------*/ - -void UnityBegin(const char* filename); -int UnityEnd(void); -void UnitySetTestFile(const char* filename); -void UnityConcludeTest(void); - -#ifndef RUN_TEST -void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); -#else -#define UNITY_SKIP_DEFAULT_RUNNER -#endif - -/*------------------------------------------------------- - * Details Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_DETAILS -#define UNITY_CLR_DETAILS() -#define UNITY_SET_DETAIL(d1) -#define UNITY_SET_DETAILS(d1,d2) -#else -#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = (d2); } - -#ifndef UNITY_DETAIL1_NAME -#define UNITY_DETAIL1_NAME "Function" -#endif - -#ifndef UNITY_DETAIL2_NAME -#define UNITY_DETAIL2_NAME "Argument" -#endif -#endif - -#ifdef UNITY_PRINT_TEST_CONTEXT -void UNITY_PRINT_TEST_CONTEXT(void); -#endif - -/*------------------------------------------------------- - * Test Output - *-------------------------------------------------------*/ - -void UnityPrint(const char* string); - -#ifdef UNITY_INCLUDE_PRINT_FORMATTED -void UnityPrintF(const UNITY_LINE_TYPE line, const char* format, ...); -#endif - -void UnityPrintLen(const char* string, const UNITY_UINT32 length); -void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number); -void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style); -void UnityPrintNumber(const UNITY_INT number_to_print); -void UnityPrintNumberUnsigned(const UNITY_UINT number); -void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print); - -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -void UnityPrintFloat(const UNITY_DOUBLE input_number); -#endif - -/*------------------------------------------------------- - * Test Assertion Functions - *------------------------------------------------------- - * Use the macros below this section instead of calling - * these directly. The macros have a consistent naming - * convention and will pull in file and line information - * for you. */ - -void UnityAssertEqualNumber(const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, - const UNITY_INT actual, - const UNITY_COMPARISON_T compare, - const char *msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); - -void UnityAssertBits(const UNITY_INT mask, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualString(const char* expected, - const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringLen(const char* expected, - const char* actual, - const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, - const char** actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 length, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertNumbersWithin(const UNITY_UINT delta, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertNumbersArrayWithin(const UNITY_UINT delta, - UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); - -void UnityFail(const char* message, const UNITY_LINE_TYPE line) UNITY_FUNCTION_ATTR(noreturn); -void UnityIgnore(const char* message, const UNITY_LINE_TYPE line) UNITY_FUNCTION_ATTR(noreturn); -void UnityMessage(const char* message, const UNITY_LINE_TYPE line); - -#ifndef UNITY_EXCLUDE_FLOAT -void UnityAssertFloatsWithin(const UNITY_FLOAT delta, - const UNITY_FLOAT expected, - const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -#ifndef UNITY_EXCLUDE_DOUBLE -void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, - const UNITY_DOUBLE expected, - const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -/*------------------------------------------------------- - * Helpers - *-------------------------------------------------------*/ - -UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size); -#ifndef UNITY_EXCLUDE_FLOAT -UNITY_INTERNAL_PTR UnityFloatToPtr(const float num); -#endif -#ifndef UNITY_EXCLUDE_DOUBLE -UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num); -#endif - -/*------------------------------------------------------- - * Error Strings We Might Need - *-------------------------------------------------------*/ - -extern const char UnityStrOk[]; -extern const char UnityStrPass[]; -extern const char UnityStrFail[]; -extern const char UnityStrIgnore[]; - -extern const char UnityStrErrFloat[]; -extern const char UnityStrErrDouble[]; -extern const char UnityStrErr64[]; -extern const char UnityStrErrShorthand[]; - -/*------------------------------------------------------- - * Test Running Macros - *-------------------------------------------------------*/ - -#ifndef UNITY_EXCLUDE_SETJMP_H -#define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) -#define TEST_ABORT() longjmp(Unity.AbortFrame, 1) -#else -#define TEST_PROTECT() 1 -#define TEST_ABORT() return -#endif - -/* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */ -#ifndef RUN_TEST -#ifdef __STDC_VERSION__ -#if __STDC_VERSION__ >= 199901L -#define UNITY_SUPPORT_VARIADIC_MACROS -#endif -#endif -#ifdef UNITY_SUPPORT_VARIADIC_MACROS -#define RUN_TEST(...) RUN_TEST_AT_LINE(__VA_ARGS__, __LINE__, throwaway) -#define RUN_TEST_AT_LINE(func, line, ...) UnityDefaultTestRun(func, #func, line) -#endif -#endif - -/* If we can't do the tricky version, we'll just have to require them to always include the line number */ -#ifndef RUN_TEST -#ifdef CMOCK -#define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num) -#else -#define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__) -#endif -#endif - -#define TEST_LINE_NUM (Unity.CurrentTestLineNumber) -#define TEST_IS_IGNORED (Unity.CurrentTestIgnored) -#define UNITY_NEW_TEST(a) \ - Unity.CurrentTestName = (a); \ - Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \ - Unity.NumberOfTests++; - -#ifndef UNITY_BEGIN -#define UNITY_BEGIN() UnityBegin(__FILE__) -#endif - -#ifndef UNITY_END -#define UNITY_END() UnityEnd() -#endif - -#ifndef UNITY_SHORTHAND_AS_INT -#ifndef UNITY_SHORTHAND_AS_MEM -#ifndef UNITY_SHORTHAND_AS_NONE -#ifndef UNITY_SHORTHAND_AS_RAW -#define UNITY_SHORTHAND_AS_OLD -#endif -#endif -#endif -#endif - -/*----------------------------------------------- - * Command Line Argument Support - *-----------------------------------------------*/ - -#ifdef UNITY_USE_COMMAND_LINE_ARGS -int UnityParseOptions(int argc, char** argv); -int UnityTestMatches(void); -#endif - -/*------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) - -/*------------------------------------------------------- - * Test Asserts - *-------------------------------------------------------*/ - -#define UNITY_TEST_ASSERT(condition, line, message) do {if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));}} while(0) -#define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) == 0), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_NOT_EMPTY(pointer, line, message) UNITY_TEST_ASSERT(((pointer[0]) != 0), (UNITY_LINE_TYPE)(line), (message)) - -#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_EQUAL_CHAR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) -#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) - -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_NOT_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16) (threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32) (threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 ) (threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT) (threshold), (UNITY_INT) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_CHAR(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 ) (actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16) (expected), (UNITY_INT)(UNITY_INT16) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32) (expected), (UNITY_INT)(UNITY_INT32) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin( (delta), (UNITY_INT) (expected), (UNITY_INT) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_CHAR_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 ) (expected), (UNITY_INT)(UNITY_INT8 ) (actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR) - -#define UNITY_TEST_ASSERT_INT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_INT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin( (UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX8_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX16_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT16)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX32_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT32)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_CHAR_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT8 )(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), ((UNITY_UINT32)(num_elements)), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - - -#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_CHAR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), (UNITY_INT_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), (UNITY_POINTER_WIDTH / 8)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_CHAR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_CHAR, UNITY_ARRAY_TO_VAL) - -#ifdef UNITY_SUPPORT_64 -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)(expected), 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_NOT_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_NOT_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UnityAssertNumbersArrayWithin((UNITY_UINT64)(delta), (UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#else -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_ARRAY_WITHIN(delta, expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#endif - -#ifdef UNITY_EXCLUDE_FLOAT -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#else -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -#ifdef UNITY_EXCLUDE_DOUBLE -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#else -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -/* End of UNITY_INTERNALS_H */ -#endif From bdefc3d491483a478c2098f9a973e8a5d156a908 Mon Sep 17 00:00:00 2001 From: ayushiag882 <44777159+ayushiag882@users.noreply.github.com> Date: Sun, 4 Apr 2021 15:11:53 +0530 Subject: [PATCH 4/4] Update README.md --- Example_Programs/programming_concpets/Questions_2a/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Example_Programs/programming_concpets/Questions_2a/README.md b/Example_Programs/programming_concpets/Questions_2a/README.md index eb253f45..d239362c 100644 --- a/Example_Programs/programming_concpets/Questions_2a/README.md +++ b/Example_Programs/programming_concpets/Questions_2a/README.md @@ -64,3 +64,5 @@ typedef struct info_t { * By [Roopesh Verma](https://github.com/Roopesh16/2a-2b.git) * By [258274](https://github.com/Ankana9910/Begin.git) * By [Jeevak Raj](https://github.com/JeevakRaj/LTTS_Stepin_Exercises/tree/main/Question_2a_array_of_structures) +* By [Ayushi Agarwal-256145](https://github.com/ayushiag882/solution_2a2b/tree/main/solution_2a) +*

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 -#include -#include -/** - * @file header.h - * @author Ayushi Agarwal -256145(ayushiag882@gmail.com) - * @brief - * @version 0.1 - * @date 2021-04-02 - * - * @copyright Copyright (c) 2021 - * - */ -#ifndef __HEADER_H__ -#define __HEADER_H___ - -/** - * @brief Defined flags to get and handle errors - * - */ -typedef enum error_handler{ - FAIL = 1, - SUCCESS = 0, -} error_handler; - -/** - * @brief Defining Structure Format - * - */ -typedef struct information { - char name[1000]; - char email_id[1000]; - char git_link[1000]; -} information; - -/** - * @brief File opening utility - * - * @param fileaddr // file input - * @param mode // mode of file reading,writing,append,etc. - * @param fptr // storing file pointer - * @return error_handler - */ -error_handler fileOpen(char *fileaddr,char *mode, FILE **fptr); - -/** - * @brief File reading utility - * - * @param fptr - * @param buffer // to store the file data line by line - * @return int - */ -int fileRead(FILE **fptr, char *buffer); - -/** - * @brief Memory freeing utility, to free up dynamically allocated space. - * - * @param user - */ -void freeMemory(information *user); - - -/** - * @brief Sorting Utitlity - * - * @param arr - */ -void sort(information *arr); - -#endif \ No newline at end of file diff --git a/solution_2a/main.c b/solution_2a/main.c deleted file mode 100644 index 4299b208..00000000 --- a/solution_2a/main.c +++ /dev/null @@ -1,53 +0,0 @@ -#include "header.h" -#include -#include - -int main(){ - FILE *ftr=NULL; - error_handler open=fileOpen("data.csv","r", &ftr); - - information *arr=malloc(sizeof(information)*5); - char buffer[1000]={0}; //to store file data - - if(open==FAIL){ - printf("FILE CANNOT BE FOUND"); - } - else{ - int i=0; - - while(fileRead(&ftr,buffer)==1){ - - if(feof(ftr)){ - printf("END OF FILE IS REACHED\n"); - break; - } - information *user=(information*)malloc(sizeof(user)); - char *temp; - temp=strtok(buffer,","); - strcpy(user->name,temp); - temp=strtok(NULL,","); - strcpy(user->email_id,temp); - temp=strtok(NULL,","); - strcpy(user->git_link,temp); - - - printf(" Name: %s\n Email_Address: %s\n GitHub_Link: %s\n\n",user->name,user->email_id,user->git_link); - - strcpy(arr[i].name,user->name); - strcpy(arr[i].email_id,user->email_id); - strcpy(arr[i].git_link,user->git_link); - - i++; - freeMemory(user); - } - - sort(arr); - printf("SORTED LIST:\n\n"); - for(int i=0;i<5;i++){ - printf(" Name: %s\n Email_Address: %s\n GitHub_Link: %s\n",arr[i].name,arr[i].email_id,arr[i].git_link); - } - } - freeMemory(arr); - fclose(ftr); - return 0; -} \ No newline at end of file diff --git a/solution_2a/result.exe b/solution_2a/result.exe deleted file mode 100644 index 1f1e98dacde271a3bfaca16244b440369a7cc280..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59556 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