#include "lib_test.h" #include #include #include int main() { printf("lib_test starting...\n"); // It { printf("testing: func_V_args_V\n"); func_V_args_V(); } { printf("testing: func_Pi_args_V\n"); int ret = func_Pi_args_V(); assert(ret == 23); } { printf("testing: func_V_args_Pi\n"); func_V_args_Pi(23); } { printf("testing: func_Pi_args_Pi\n"); int ret = func_Pi_args_Pi(22); assert(ret == 23); } { printf("testing: func_V_args_pPi\n"); unsigned int i = 22; func_V_args_pPi(&i); assert(i == 23); } { printf("testing: func_Pi_args_Pi_pPi_pPi\n"); int i = 23; unsigned int j = 22; int k = 22; int ret = func_Pi_args_Pi_pPi_pPi(i,&j,&k); assert(ret == 23); assert(i == 23); assert(j == 23); assert(k == 23); } // Char { printf("testing: func_V_args_V\n"); func_V_args_V(); } { printf("testing: func_Pc_args_V\n"); char ret = func_Pc_args_V(); assert(ret == 'A'); } { printf("testing: func_V_args_Pc\n"); func_V_args_Pc('a'); } { printf("testing: func_Pc_args_Pc\n"); char ret = func_Pc_args_Pc('a'); assert(ret == 'A'); } { printf("testing: func_V_args_pPc\n"); char c = 'a'; func_V_args_pPc(&c); assert(c == 'A'); } { printf("testing: func_Pc_args_Pc_pPc_pPc\n"); char i = 'A'; char j = 'a'; char k = 'a'; char ret = func_Pc_args_Pc_pPc_pPc(i,&j,&k); assert(ret == 'A'); assert(i == 'A'); assert(j == 'A'); assert(k == 'A'); } // String-by-value (const char*) { printf("testing: func_pPcc_args_V\n"); const char* ret = func_pPcc_args_V(); assert(!strcmp(ret, "pEp")); } { printf("testing: func_V_args_pPcc\n"); func_V_args_pPcc("pEp"); } { printf("testing: func_pPcc_args_pPcc\n"); const char* in = "pEp"; const char* ret = func_pPcc_args_pPcc(in); assert(!strcmp(ret, in)); } { printf("testing: func_pPcc_args_pPcc_pPcc\n"); const char* in = "pEp"; const char* in2 = "pEp"; const char* ret = func_pPcc_args_pPcc_pPcc(in,in2); assert(!strcmp(ret, in)); } // String-by-ref (char**) { printf("testing: func_ppPc_args_V\n"); char** ret = func_ppPc_args_V(); assert(!strcmp(*ret, "pEp")); } { printf("testing: func_V_args_ppPc\n"); char* in = NULL; func_V_args_ppPc(&in); assert(!strcmp(in, "pEp")); } { printf("testing: func_ppPc_args_ppPc\n"); char* in = NULL; char** out = func_ppPc_args_ppPc(&in); assert(!strcmp(in, "pEp")); assert(!strcmp(*out, "pEp")); } { printf("testing: func_ppPc_args_ppPc_ppPc\n"); char* in = NULL; char* in2 = NULL; char** out = func_ppPc_args_ppPc_ppPc(&in,&in2); assert(!strcmp(in, "pEp")); assert(!strcmp(in2, "pEp")); assert(!strcmp(*out, "pEp")); } }