You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

134 lines
3.3 KiB

#include "lib_test.h"
#include <stdio.h>
#include <assert.h>
#include <string.h>
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"));
}
}