Browse Source

lib_test - add functions/tests for struct field type char array (fixed)

master
heck 4 years ago
parent
commit
a380307a10
  1. 12
      examples/lib/lib_test/functions.h
  2. 18
      examples/lib/lib_test/lib_test.c
  3. 27
      examples/lib/lib_test/main.c

12
examples/lib/lib_test/functions.h

@ -90,7 +90,7 @@ TAPS*** func_pppTAPS_args_pppTAPS(TAPS*** arg1_pppTAPS);
// PSa - Primitive Structs containing array
// PSa contains a char[4] (which is a string)
// PSa contains a char[4] (which is an array of bytes, NOT a string)
// By value
TTAPSa func_TTAPSa_args_V();
@ -106,16 +106,16 @@ TTAPSa*** func_pppTTAPSa_args_pppTTAPSa(TTAPSa*** arg1_pppTTAPSa);
// CS - Complex Structs containing array
// CS contains a PS[3] (which is an array of structs)
// By value
TACS func_TACS_args_V();
TACS func_TACS_args_V(); // MISSING
TACS func_TACS_args_TACS(TACS arg1_TACS);
TACS func_TACS_args_TACS(TACS arg1_TACS); // MISSING
// By pointer
void func_V_args_pTACS(TACS* arg1_pTACS);
void func_V_args_pTACS(TACS* arg1_pTACS); // MISSING
TACS** func_ppTACS_args_ppTACS(TACS** arg1_ppTACS);
TACS** func_ppTACS_args_ppTACS(TACS** arg1_ppTACS); // MISSING
TACS*** func_pppTACS_args_pppTACS(TACS*** arg1_pppTACS);
TACS*** func_pppTACS_args_pppTACS(TACS*** arg1_pppTACS); // MISSING

18
examples/lib/lib_test/lib_test.c

@ -211,23 +211,25 @@ TAPS*** func_pppTAPS_args_pppTAPS(TAPS*** arg1_pppTAPS) {
}
// PSa - Primitive Structs containing array
// PSa contains a char[4] (which is an array of bytes, NOT a string)
// By value
// TODO: AMEND
TTAPSa func_TTAPSa_args_V() {
TTAPSa ret;
ret.field__P_1 = 23;
strcpy(ret.field__Pa_1, "pEp");
return ret;
}
TTAPSa func_TTAPSa_args_TTAPSa(TTAPSa arg1_TTAPSa) {
arg1_TTAPSa.field__P_1 = 23;
strcpy(arg1_TTAPSa.field__Pa_1, "pEp");
return arg1_TTAPSa;
TTAPSa ret;
for(int i=0; i < 4; ++i) {
ret.field__Pa_1[i] = arg1_TTAPSa.field__Pa_1[i];
}
return ret;
}
// By pointer
void func_V_args_pTTAPSa(TTAPSa* arg1_pTTAPSa) {
arg1_pTTAPSa->field__P_1 = 23;
strcpy(arg1_pTTAPSa->field__Pa_1, "pEp");
}
@ -257,7 +259,11 @@ TACS func_TACS_args_V() {
ret.field__PS_1.field__P_1 = 23;
ret.field__PS_1.field__P_2 = 23;
ret.field_APS_1[0].field__P_1 = 23;
ret.field_APS_1[0].field__P_2 = 23;
ret.field_APS_1[0].field__P_2 = 24;
ret.field_APS_1[1].field__P_1 = 25;
ret.field_APS_1[1].field__P_2 = 26;
ret.field_APS_1[2].field__P_1 = 27;
ret.field_APS_1[2].field__P_2 = 28;
return ret;
}

27
examples/lib/lib_test/main.c

@ -224,21 +224,22 @@ int main() {
{
printf("testing: func_TTAPSa_args_V\n");
TTAPSa ret = func_TTAPSa_args_V();
assert(ret.field__P_1 == 23);
assert(!strcmp(ret.field__Pa_1, "pEp"));
}
{
printf("testing: func_TTAPSa_args_TTAPSa\n");
TTAPSa in;
in.field__Pa_1[0] = 'p';
in.field__Pa_1[1] = 'E';
in.field__Pa_1[2] = 'p';
in.field__Pa_1[3] = '\0';
TTAPSa ret = func_TTAPSa_args_TTAPSa(in);
assert(ret.field__P_1 == 23);
assert(!strcmp(ret.field__Pa_1, "pEp"));
}
{
printf("testing: func_V_args_pTTAPSa\n");
TTAPSa *inout = (TTPSa*)malloc(sizeof (TTPSa));
func_V_args_pTTAPSa(inout);
assert(inout->field__P_1 == 23);
assert(!strcmp(inout->field__Pa_1, "pEp"));
}
{
@ -262,13 +263,17 @@ int main() {
assert(inout->field__P_1 == 23);
assert(!strcmp(inout->field__Pa_1, "pEp"));
}
{
printf("testing: func_TACS_args_V\n");
TACS ret = func_TACS_args_V();
assert(ret.field__PS_1.field__P_1 = 23);
assert(ret.field__PS_1.field__P_2 = 23);
assert(ret.field_APS_1[0].field__P_1 = 23);
assert(ret.field_APS_1[0].field__P_2 = 23);
}
// {
// printf("testing: func_TACS_args_V\n");
// TACS ret = func_TACS_args_V();
// assert(ret.field__PS_1.field__P_1 == 23);
// assert(ret.field__PS_1.field__P_2 == 23);
// assert(ret.field_APS_1[0].field__P_1 == 23);
// assert(ret.field_APS_1[0].field__P_2 == 24);
// assert(ret.field_APS_1[1].field__P_1 == 25);
// assert(ret.field_APS_1[1].field__P_2 == 26);
// assert(ret.field_APS_1[2].field__P_1 == 27);
// assert(ret.field_APS_1[2].field__P_2 == 28);
// }
}

Loading…
Cancel
Save