Some more
This commit is contained in:
parent
049b901278
commit
61c25ffcb9
|
@ -14,14 +14,15 @@ typedef struct mcu_test_case_s {
|
|||
#define RUN_TEST_CASES(cases) \
|
||||
for (size_t i = 0; i < sizeof(cases)/sizeof(mcu_test_case_t); i++) { \
|
||||
mcu_test_case_t* test_case = &(cases)[i]; \
|
||||
printf("(%s): ", test_case->short_name); \
|
||||
const char* sn = test_case->short_name; \
|
||||
printf("Running test case: %s\n", test_case->short_name); \
|
||||
int ret = (test_case->test_fn)(); \
|
||||
if (ret) { \
|
||||
printf("FAIL - Returned non zero (%d)\n", ret); \
|
||||
printf("REASON: %s\n", test_case->error_types[ret]); \
|
||||
printf("(%s) FAIL - Returned non zero (%d)\n", sn, ret); \
|
||||
printf("(%s) REASON: %s\n", sn, test_case->error_types[ret]); \
|
||||
exit(1); \
|
||||
} else { \
|
||||
printf("PASS\n"); \
|
||||
printf("(%s) PASS\n", sn); \
|
||||
} \
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ MCU_API void mcu_gen_vec_insert_back(mcu_gen_vec_t* gv, void* data) {
|
|||
MCU_API void* mcu_gen_vec_remove_back(mcu_gen_vec_t *gv) {
|
||||
assert(gv && "Null ptr passed as mcu_gen_vec_t");
|
||||
if (gv->count == 0) return NULL;
|
||||
return gv->inner[gv->count--];
|
||||
return gv->inner[--gv->count];
|
||||
}
|
||||
|
||||
MCU_API void* mcu_gen_vec_remove_front(mcu_gen_vec_t *gv) {
|
||||
|
|
83
test.c
83
test.c
|
@ -32,32 +32,75 @@ int test_gen_vec() {
|
|||
mcu_gen_vec_t vec = {0};
|
||||
mcu_gen_vec_init(&vec);
|
||||
|
||||
mcu_gen_vec_insert_front(&vec, (void*)a);
|
||||
mcu_gen_vec_insert_back(&vec, (void*)b);
|
||||
mcu_gen_vec_insert_front(&vec, (void*)c);
|
||||
mcu_gen_vec_insert_back(&vec, (void*)d);
|
||||
|
||||
|
||||
printf("\nAr: %s\n", (char*) vec.inner[0]);
|
||||
printf("Br: %s\n", (char*) vec.inner[1]);
|
||||
printf("Cr: %s\n", (char*) vec.inner[2]);
|
||||
printf("Dr: %s\n", (char*) vec.inner[3]);
|
||||
printf("Testing mcu_gen_vec_remove_front:\n");
|
||||
{
|
||||
vec.inner[0] = c;
|
||||
vec.inner[1] = a;
|
||||
vec.inner[2] = b;
|
||||
vec.inner[3] = d;
|
||||
vec.count = 4;
|
||||
printf("Inserted: [");
|
||||
printf("\"%s\", ", (char*) vec.inner[0]);
|
||||
printf("\"%s\", ", (char*) vec.inner[1]);
|
||||
printf("\"%s\", ", (char*) vec.inner[2]);
|
||||
printf("\"%s\"]\n", (char*) vec.inner[3]);
|
||||
|
||||
char* res_d = mcu_gen_vec_remove_back(&vec);
|
||||
char* res_c = mcu_gen_vec_remove_front(&vec);
|
||||
char* res_b = mcu_gen_vec_remove_back(&vec);
|
||||
char* res_a = mcu_gen_vec_remove_front(&vec);
|
||||
printf("Got: [");
|
||||
printf("\"%s\", ", (char*)mcu_gen_vec_remove_front(&vec));
|
||||
printf("\"%s\", ", (char*)mcu_gen_vec_remove_front(&vec));
|
||||
printf("\"%s\", ", (char*)mcu_gen_vec_remove_front(&vec));
|
||||
printf("\"%s\"]\n", (char*)mcu_gen_vec_remove_front(&vec));
|
||||
}
|
||||
printf("Testing mcu_gen_vec_remove_back:\n");
|
||||
{
|
||||
vec.inner[0] = c;
|
||||
vec.inner[1] = a;
|
||||
vec.inner[2] = b;
|
||||
vec.inner[3] = d;
|
||||
vec.count = 4;
|
||||
printf("Inserted: [");
|
||||
printf("\"%s\", ", (char*) vec.inner[0]);
|
||||
printf("\"%s\", ", (char*) vec.inner[1]);
|
||||
printf("\"%s\", ", (char*) vec.inner[2]);
|
||||
printf("\"%s\"]\n", (char*) vec.inner[3]);
|
||||
|
||||
char* v1 = (char*)mcu_gen_vec_remove_back(&vec);
|
||||
char* v2 = (char*)mcu_gen_vec_remove_back(&vec);
|
||||
char* v3 = (char*)mcu_gen_vec_remove_back(&vec);
|
||||
char* v4 = (char*)mcu_gen_vec_remove_back(&vec);
|
||||
|
||||
printf("A: %s\n", res_a);
|
||||
printf("B: %s\n", res_b);
|
||||
printf("C: %s\n", res_c);
|
||||
printf("D: %s\n", res_d);
|
||||
printf("Got: [");
|
||||
printf("\"%s\", ", v4);
|
||||
printf("\"%s\", ", v3);
|
||||
printf("\"%s\", ", v2);
|
||||
printf("\"%s\"]\n", v1);
|
||||
}
|
||||
printf("Testing mcu_gen_vec_insert_front:\n");
|
||||
{
|
||||
mcu_gen_vec_insert_front(&vec, d);
|
||||
mcu_gen_vec_insert_front(&vec, c);
|
||||
mcu_gen_vec_insert_front(&vec, b);
|
||||
mcu_gen_vec_insert_front(&vec, a);
|
||||
printf("Expected: [\"A\", \"B\", \"C\", \"D\"]\n");
|
||||
printf("Got: [");
|
||||
printf("\"%s\", ", (char*) vec.inner[0]);
|
||||
printf("\"%s\", ", (char*) vec.inner[1]);
|
||||
printf("\"%s\", ", (char*) vec.inner[2]);
|
||||
printf("\"%s\"]\n", (char*) vec.inner[3]);
|
||||
}
|
||||
|
||||
//printf("A: %s\n", res_a);
|
||||
//printf("B: %s\n", res_b);
|
||||
//printf("C: %s\n", res_c);
|
||||
//printf("D: %s\n", res_d);
|
||||
if ((
|
||||
strcmp(res_a, "A") ||
|
||||
strcmp(res_b, "B") ||
|
||||
strcmp(res_c, "C") ||
|
||||
strcmp(res_d, "D")
|
||||
//strcmp(res_a, "A") ||
|
||||
//strcmp(res_b, "B") ||
|
||||
//strcmp(res_c, "C") ||
|
||||
//strcmp(res_d, "D")
|
||||
1
|
||||
)) {
|
||||
return GEN_VEC_ERR_BAD_ORDER;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user