bool test_r_list_length(void) { RList* list = r_list_new (); RList* list2 = r_list_new (); RListIter *iter; int count = 0; int test1 = 33508; int test2 = 33480; int test3 = 33964; // Put in not sorted order. r_list_append (list, (void*)&test1); r_list_append (list, (void*)&test3); r_list_append (list, (void*)&test2); iter = list->head; while (iter) { count++; iter = iter->n; } mu_assert_eq (list->length, 3, "First length check"); r_list_delete_data (list, (void*)&test1); mu_assert_eq (list->length, 2, "Second length check"); r_list_append (list, (void*)&test1); mu_assert_eq (list->length, 3, "Third length check"); r_list_pop (list); mu_assert_eq (list->length, 2, "Fourth length check"); r_list_pop_head (list); mu_assert_eq (list->length, 1, "Fifth length check"); r_list_insert (list, 2, (void*)&test2); mu_assert_eq (list->length, 2, "Sixth length check"); r_list_prepend (list, (void*)&test3); mu_assert_eq (list->length, 3, "Seventh length check"); r_list_del_n (list, 2); mu_assert_eq (list->length, 2, "Eighth length check"); r_list_append (list2, (void*)&test1); r_list_append (list2, (void*)&test3); r_list_append (list2, (void*)&test2); r_list_join (list, list2); mu_assert_eq (list->length, 5, "Ninth length check"); iter = list->head; count = 0; while (iter) { count++; iter = iter->n; } mu_assert_eq (list->length, count, "Tenth length check"); r_list_free (list); r_list_free (list2); mu_end; }
char* test_r_list_del_n(void) { RList* list = r_list_new (); intptr_t test1 = 0x12345; intptr_t test2 = 0x88888; r_list_append (list, (void*)test1); r_list_append (list, (void*)test2); snprintf (buf, 1024, "error, expected size 2, got %d\n", (int)r_list_length (list)); mu_assert(buf, r_list_length (list) == 2); r_list_del_n (list, 0); mu_assert("error, first value not 0x88888", (intptr_t)0x88888 == (intptr_t)r_list_pop (list)); return NULL; }
bool test_r_list_del_n(void) { RList* list = r_list_new (); intptr_t test1 = 0x12345; intptr_t test2 = 0x88888; r_list_append (list, (void*)test1); r_list_append (list, (void*)test2); mu_assert_eq (r_list_length (list), 2, "list is of length 2 when adding 2 values"); r_list_del_n (list, 0); int top1 = (intptr_t)r_list_pop (list); mu_assert_eq(top1, 0x88888, "error, first value not 0x88888"); r_list_free (list); mu_end; }