diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-03-27 13:27:19 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-06-11 11:03:11 +0200 |
commit | afb6d9c3015feeb6814d534e45fbc0b5afa879bf (patch) | |
tree | 95f8b6d69c70ae0e5f1751f65b6ecf67f839694d | |
parent | cca70ed331bb0cdb6be0d9c63f6a4238fa35639f (diff) | |
download | strongswan-afb6d9c3015feeb6814d534e45fbc0b5afa879bf.tar.bz2 strongswan-afb6d9c3015feeb6814d534e45fbc0b5afa879bf.tar.xz |
Improve tests for linked_list_t.replace()
-rw-r--r-- | src/libstrongswan/tests/test_linked_list_enumerator.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/libstrongswan/tests/test_linked_list_enumerator.c b/src/libstrongswan/tests/test_linked_list_enumerator.c index 1342aec8a..d44f7ab9f 100644 --- a/src/libstrongswan/tests/test_linked_list_enumerator.c +++ b/src/libstrongswan/tests/test_linked_list_enumerator.c @@ -219,7 +219,7 @@ END_TEST START_TEST(test_replace) { enumerator_t *enumerator; - intptr_t x; + intptr_t x, y; int round; round = 1; @@ -227,7 +227,8 @@ START_TEST(test_replace) while (enumerator->enumerate(enumerator, &x)) { ck_assert_int_eq(round, x); - list->replace(list, enumerator, (void*)(uintptr_t)(6 - round)); + y = (intptr_t)list->replace(list, enumerator, (void*)(intptr_t)(6 - round)); + ck_assert_int_eq(round, y); round++; } list->reset_enumerator(list, enumerator); @@ -241,6 +242,20 @@ START_TEST(test_replace) } END_TEST +START_TEST(test_replace_first) +{ + enumerator_t *enumerator; + intptr_t x; + + enumerator = list->create_enumerator(list); + x = (intptr_t)list->replace(list, enumerator, (void*)6); + ck_assert_int_eq(x, 0); + ck_assert(enumerator->enumerate(enumerator, &x)); + ck_assert_int_eq(x, 1); + enumerator->destroy(enumerator); +} +END_TEST + START_TEST(test_remove_at) { enumerator_t *enumerator; @@ -350,6 +365,7 @@ Suite *linked_list_enumerator_suite_create() tc = tcase_create("modify"); tcase_add_checked_fixture(tc, setup_list, teardown_list); tcase_add_test(tc, test_replace); + tcase_add_test(tc, test_replace_first); tcase_add_test(tc, test_remove_at); tcase_add_test(tc, test_remove_at_ends); suite_add_tcase(s, tc); |