array: Add an array_get() function

This commit is contained in:
Martin Willi
2014-01-22 15:34:53 +01:00
parent 027cf7ddcf
commit 589fab2260
3 changed files with 44 additions and 3 deletions
+18 -2
View File
@@ -35,6 +35,14 @@ START_TEST(test_append_ptr)
/* 3, 4 */
ck_assert(array_get(array, ARRAY_HEAD, &x));
ck_assert_int_eq(x, 3);
ck_assert(array_get(array, 1, &x));
ck_assert_int_eq(x, 4);
ck_assert(array_get(array, ARRAY_TAIL, &x));
ck_assert_int_eq(x, 4);
ck_assert(!array_get(array, 3, &x));
array_insert(array, ARRAY_HEAD, (void*)(uintptr_t)1);
array_insert(array, 1, (void*)(uintptr_t)2);
ck_assert_int_eq(array_count(array), 4);
@@ -108,6 +116,14 @@ START_TEST(test_append_obj)
/* 3, 4 */
ck_assert(array_get(array, ARRAY_HEAD, &x));
ck_assert_int_eq(x, 3);
ck_assert(array_get(array, 1, &x));
ck_assert_int_eq(x, 4);
ck_assert(array_get(array, ARRAY_TAIL, &x));
ck_assert_int_eq(x, 4);
ck_assert(!array_get(array, 3, &x));
array_insert(array, ARRAY_HEAD, &y[1]);
array_insert(array, 1, &y[2]);
ck_assert_int_eq(array_count(array), 4);
@@ -336,11 +352,11 @@ Suite *array_suite_create()
s = suite_create("array");
tc = tcase_create("add/remove ptr");
tc = tcase_create("add/get/remove ptr");
tcase_add_test(tc, test_append_ptr);
suite_add_tcase(s, tc);
tc = tcase_create("add/remove obj");
tc = tcase_create("add/get/remove obj");
tcase_add_test(tc, test_append_obj);
suite_add_tcase(s, tc);