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
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"));
|
|
}
|
|
|
|
}
|
|
|