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) \
|
#define RUN_TEST_CASES(cases) \
|
||||||
for (size_t i = 0; i < sizeof(cases)/sizeof(mcu_test_case_t); i++) { \
|
for (size_t i = 0; i < sizeof(cases)/sizeof(mcu_test_case_t); i++) { \
|
||||||
mcu_test_case_t* test_case = &(cases)[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)(); \
|
int ret = (test_case->test_fn)(); \
|
||||||
if (ret) { \
|
if (ret) { \
|
||||||
printf("FAIL - Returned non zero (%d)\n", ret); \
|
printf("(%s) FAIL - Returned non zero (%d)\n", sn, ret); \
|
||||||
printf("REASON: %s\n", test_case->error_types[ret]); \
|
printf("(%s) REASON: %s\n", sn, test_case->error_types[ret]); \
|
||||||
exit(1); \
|
exit(1); \
|
||||||
} else { \
|
} 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) {
|
MCU_API void* mcu_gen_vec_remove_back(mcu_gen_vec_t *gv) {
|
||||||
assert(gv && "Null ptr passed as mcu_gen_vec_t");
|
assert(gv && "Null ptr passed as mcu_gen_vec_t");
|
||||||
if (gv->count == 0) return NULL;
|
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) {
|
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_t vec = {0};
|
||||||
mcu_gen_vec_init(&vec);
|
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("Testing mcu_gen_vec_remove_front:\n");
|
||||||
printf("Br: %s\n", (char*) vec.inner[1]);
|
{
|
||||||
printf("Cr: %s\n", (char*) vec.inner[2]);
|
vec.inner[0] = c;
|
||||||
printf("Dr: %s\n", (char*) vec.inner[3]);
|
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);
|
printf("Got: [");
|
||||||
char* res_c = mcu_gen_vec_remove_front(&vec);
|
printf("\"%s\", ", (char*)mcu_gen_vec_remove_front(&vec));
|
||||||
char* res_b = mcu_gen_vec_remove_back(&vec);
|
printf("\"%s\", ", (char*)mcu_gen_vec_remove_front(&vec));
|
||||||
char* res_a = 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("Got: [");
|
||||||
printf("B: %s\n", res_b);
|
printf("\"%s\", ", v4);
|
||||||
printf("C: %s\n", res_c);
|
printf("\"%s\", ", v3);
|
||||||
printf("D: %s\n", res_d);
|
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 ((
|
if ((
|
||||||
strcmp(res_a, "A") ||
|
//strcmp(res_a, "A") ||
|
||||||
strcmp(res_b, "B") ||
|
//strcmp(res_b, "B") ||
|
||||||
strcmp(res_c, "C") ||
|
//strcmp(res_c, "C") ||
|
||||||
strcmp(res_d, "D")
|
//strcmp(res_d, "D")
|
||||||
|
1
|
||||||
)) {
|
)) {
|
||||||
return GEN_VEC_ERR_BAD_ORDER;
|
return GEN_VEC_ERR_BAD_ORDER;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user