From c7c64f560dd41b0ab6edd1fb8bd6d412a3d290ae Mon Sep 17 00:00:00 2001 From: fanasina Date: Tue, 24 Mar 2026 11:26:44 +0100 Subject: [PATCH] add : cpy ftest_array --- y_test_h.h | 512 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 512 insertions(+) diff --git a/y_test_h.h b/y_test_h.h index 7c447a5..94d1688 100644 --- a/y_test_h.h +++ b/y_test_h.h @@ -1142,6 +1142,518 @@ do{ #endif /* __TEST_C_H__ */ +#ifndef __TEST_ARRAY_C_H__ +#define __TEST_ARRAY_C_H__ + +#include "ftest/ftest.h" + +#define min(a,b) (((a)<(b)) ? (a) : (b)) + + /* + * only expect + */ + +#define HANDLE_OP_EXPECT_ARRAY_NAME(OP,type,var1, sz1, var2, sz2,name_f,msg_call) \ +do{ \ + if(is_parallel_nb == 0){\ + if(expected_array_##OP##_##type(var1, sz1, var2, sz2)){ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + \ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + \ + }else { \ + if(expected_array_##OP##_name_##type(var1, sz1, var2, sz2, name_f)){ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + } \ + }\ +}while(0); + +//#define EXPECT_ARRAY_OP_(OP,type,var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(OP,type,var1, sz1, var2, sz2) + + // ******************************************************************************************************************* + + /** + * new HANDLE_OP_ EXPECT_ARRAY and ASSERT_ARRAY separated + */ +#define HANDLE_OP_EXPECT_ARRAY_(OP,type,var1, sz1, var2, sz2) \ +do{ \ + if(is_parallel_nb == 0){\ + if(expected_array_##OP##_##type(var1, sz1, var2, sz2)){ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + } \ + }else { \ + if(expected_array_##OP##_name_##type(var1, sz1, var2, sz2, __func__)){ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + } \ + }\ +}while(0); + +#define HANDLE_OP_ASSERT_ARRAY_(OP,type,var1, sz1, var2, sz2) \ +do{ \ + if(is_parallel_nb == 0){\ + if(expected_array_##OP##_##type(var1, sz1, var2, sz2)){ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + return; \ + } \ + }else { \ + if(expected_array_##OP##_name_##type(var1, sz1, var2, sz2, __func__)){ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC("test passed: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF("Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + }\ + } \ + else{ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) \n\n",#var1,STRFY(OP),#var2); \ + for(size_t i=0; i < min(sz1,sz2);++i)\ + if (!(COMPARE_N_##type((void*)(var1 + i),(void*)(var2 + i)) OP 0)) {\ + char *str_var1 = type##_TO_STR(var1[i]), *str_var2 = type##_TO_STR(var2[i]);\ + PRINTF(" Value of %s[%ld]: %s \n Value of %s[%ld]: %s\n\n"\ + ,#var1,i, str_var1, #var2,i, str_var2); \ + free(str_var1); free(str_var2);\ + }\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + return; \ + } \ + }\ +}while(0); + + + +// ******************************************************************************************************************** + + +// *********************** begin EQ ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_EQ_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_EQ_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_EQ(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(EQ, TYPE_L_INT,var1, sz1, var2, sz2) + + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_EQ_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_EQ_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_EQ(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(EQ, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end EQ ********************** + + +// *********************** begin LT ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_LT_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LT_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_LT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LT, TYPE_L_INT,var1, sz1, var2, sz2) + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_LT_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LT_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_LT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LT, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end LT ********************** + + +// *********************** begin GT ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_GT_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GT_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_GT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GT, TYPE_L_INT,var1, sz1, var2, sz2) + + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_GT_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GT_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_GT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GT, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end GT ********************** + + +// *********************** begin LE ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_LE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_LE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_LE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(LE, TYPE_L_INT,var1, sz1, var2, sz2) + + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_LE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_LE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_LE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(LE, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end LE ********************** + + +// *********************** begin GE ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_GE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_GE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_GE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(GE, TYPE_L_INT,var1, sz1, var2, sz2) + + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_GE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_GE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_GE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(GE, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end GE ********************** + + +// *********************** begin NE ************************ +// ============== EXPECT_ARRAY ============================== + +#define EXPECT_ARRAY_NE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_U_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define EXPECT_ARRAY_NE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_STRING,var1, sz1, var2, sz2) + +#define EXPECT_ARRAY_NE(var1, sz1, var2, sz2) HANDLE_OP_EXPECT_ARRAY_(NE, TYPE_L_INT,var1, sz1, var2, sz2) + + + +// ============== ASERT ===================== + +#define ASSERT_ARRAY_NE_TYPE_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_U_CHAR(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_U_CHAR,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_U_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_U_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_U_L_INT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_U_L_INT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_SIZE_T(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_SIZE_T,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_FLOAT(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_FLOAT,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_L_DOUBLE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_L_DOUBLE,var1, sz1, var2, sz2) +#define ASSERT_ARRAY_NE_TYPE_STRING(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_STRING,var1, sz1, var2, sz2) + +#define ASSERT_ARRAY_NE(var1, sz1, var2, sz2) HANDLE_OP_ASSERT_ARRAY_(NE, TYPE_L_INT,var1, sz1, var2, sz2) + +// ************************ end NE ********************** + +/* + * ============== bool =================== + * bellow old combined EXPECT_ARRAY and ASSERT_ARRAY macros + */ + +#define HANDLE_EXPECT_ARRAY_NOT_EXPECT_ARRAY_ASSERT_ARRAY(expect,not_expect,var1,is_assert) \ +do{ \ + if(is_parallel_nb==0){\ + if(expected_array_##expect##_f(var1)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n\n", #var1, #not_expect, #expect);\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + if(is_assert) return; \ + } \ + }\ + else{\ + if(expected_array_##expect##_f_name(var1, __func__)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n\n", #var1, #not_expect, #expect);\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + if(is_assert) return; \ + } \ + }\ +}while(0); + +// ******************************************************************************************************* +/* + * new macro HANDEL ASSERT_ARRAY and EXPECT_ARRAY separated + */ +#define HANDLE_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(expect,not_expect,var1) \ +do{ \ + if(is_parallel_nb==0){ \ + if(expected_array_##expect##_f(var1)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n", #var1, #not_expect, #expect); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n\n",__func__); \ + } \ + } \ + else{ \ + size_t id_thread=id_of_thread_executed(); \ + if(expected_array_##expect##_f_name(var1, __func__)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s, on thread[%ld]\n\n",__func__,id_thread); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n", #var1, #not_expect, #expect); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s, on thread[%ld]\n\n",__func__,id_thread); \ + } \ + } \ +}while(0); + + +#define HANDLE_ASSERT_ARRAY_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(expect,not_expect,var1) \ +do{ \ + if(is_parallel_nb==0){ \ + if(expected_array_##expect##_f(var1)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n", #var1, #not_expect, #expect); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n\n",__func__); \ + return; \ + } \ + }\ + else{\ + size_t id_thread=id_of_thread_executed(); \ + if(expected_array_##expect##_f_name(var1, __func__)){ \ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s, on thread[%ld]\n\n",__func__,id_thread); \ + } \ + else{ \ + PRINT_LOC("Failure\nValue of: %s\nActual: %s\nExpected: %s\n\n", #var1, #not_expect, #expect);\ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s, on thread[%ld]\n\n",__func__, id_thread); \ + return; \ + } \ + }\ +}while(0); + + +// ******************************************************************************************************* +#define EXPECT_ARRAY_TRUE(var1) HANDLE_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(true, false, var1) +#define EXPECT_ARRAY_FALSE(var1) HANDLE_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(false, true, var1) + +#define ASSERT_ARRAY_TRUE(var1) HANDLE_ASSERT_ARRAY_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(true, false, var1) +#define ASSERT_ARRAY_FALSE(var1) HANDLE_ASSERT_ARRAY_EXPECT_ARRAY_NOT_EXPECT_ARRAY_(false, true, var1) + + +//******************************************************************************** +#endif /* __TEST_ARRAY_C_H__ */ + + /* implementations */