create linked list generic

This commit is contained in:
2024-04-25 00:58:04 +02:00
parent 6a24c2b427
commit 1c4f8f801f
6 changed files with 430 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
#include "ftest/ftest.h"
#include "fmock/fmock.h"
#include "list_t/list_t.h"
TEST(list_create){
struct main_list_TYPE_INT * var_list_int = create_var_list_TYPE_INT();
push_back_list_TYPE_INT(var_list_int, 9);
push_back_list_TYPE_INT(var_list_int, -9);
push_back_list_TYPE_INT(var_list_int, 19);
move_current_to_index_list_TYPE_INT(var_list_int, 0);
while(var_list_int->current_list){
LOG("cur %ld : %d : size :%ld \n", var_list_int->current_index, (var_list_int->current_list)->value, var_list_int->size);
increment_list_TYPE_INT(var_list_int);
}
LOG("%s"," =============== \n");
for(move_current_to_index_list_TYPE_INT(var_list_int, (var_list_int->size) - 1); var_list_int->current_list; decrement_list_TYPE_INT(var_list_int))
LOG("cur %ld : %d : size :%ld \n", var_list_int->current_index, (var_list_int->current_list)->value, var_list_int->size);
free_all_var_list_TYPE_INT(var_list_int);
}
TEST(insert){
struct main_list_TYPE_INT * var_list_int = create_var_list_TYPE_INT();
for(int i=0; i<5; ++i)
push_back_list_TYPE_INT(var_list_int, i);
for(int i=0; i<10; ++i)
insert_into_list_TYPE_INT(var_list_int, i, -2*i+1);
for(int i=var_list_int->size; i< 25; ++i)
insert_into_list_TYPE_INT(var_list_int, i, 3*i+1);
for(move_current_to_index_list_TYPE_INT(var_list_int, 0); var_list_int->current_list; increment_list_TYPE_INT(var_list_int))
LOG("cur %ld : %d : size :%ld \n", var_list_int->current_index, (var_list_int->current_list)->value, var_list_int->size);
free_all_var_list_TYPE_INT(var_list_int);
}
TEST(remove){
struct main_list_TYPE_INT * var_list_int = create_var_list_TYPE_INT();
for(int i=0; i<5; ++i)
push_back_list_TYPE_INT(var_list_int, i);
for(int i=0; i<10; ++i)
insert_into_list_TYPE_INT(var_list_int, i, -2*i+1);
for(int i=var_list_int->size; i< 25; ++i)
insert_into_list_TYPE_INT(var_list_int, i, 3*i+1);
for(move_current_to_index_list_TYPE_INT(var_list_int, 0); var_list_int->current_list; increment_list_TYPE_INT(var_list_int))
LOG("cur %ld : %d : size :%ld \n", var_list_int->current_index, (var_list_int->current_list)->value, var_list_int->size);
for(int i=1; i<var_list_int->size; i+= 3)
remove_index_from_list_TYPE_INT(var_list_int, i);
LOG("%s"," =============== \n");
for(move_current_to_index_list_TYPE_INT(var_list_int, 0); var_list_int->current_list; increment_list_TYPE_INT(var_list_int))
LOG("cur %ld : %d : size :%ld \n", var_list_int->current_index, (var_list_int->current_list)->value, var_list_int->size);
free_all_var_list_TYPE_INT(var_list_int);
}
int main(int argc, char **argv){
run_all_tests_args(argc, argv);
return 0;
}