#include #include #include #include "../../vector/myvector.h" typedef struct my_elem { char name[32]; int age; } my_elem_s; void test_v1() { /* Allocate a new vector */ size_t elem_size = sizeof(my_elem_s); vec_s *v = vec_new(10, elem_size); assert(vec_size(v) == 0); assert(vec_cap(v) == 16); /* Push an element */ my_elem_s e1 = { .age = 21, .name = "John", }; vec_push(v, &e1); assert(vec_size(v) == 1); /* Retrieve an element (Remember to free) */ my_elem_s *e1_v = (my_elem_s *)vec_get(v, 0); free(e1_v); /* Pop last element (Remember to free) */ my_elem_s *pop = (my_elem_s *)vec_pop(v); free(pop); /* Insert an element */ vec_push(v, &e1); vec_push(v, &e1); vec_insert(v, 2, &e1); my_elem_s last = { .age = 33, .name = "Last", }; vec_push(v, &last); my_elem_s *lastv = (my_elem_s *)vec_pop(v); free(lastv); /* Deallocate the vector */ vec_free(v); }