From 6f236f00ef8e4fbfb2ef14ff6ff26a3565314530 Mon Sep 17 00:00:00 2001 From: Michael Tryby Date: Tue, 9 Apr 2019 15:16:54 -0400 Subject: [PATCH] Update test_list.cpp Tests are passing --- tests/util/test_list.cpp | 63 +++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/tests/util/test_list.cpp b/tests/util/test_list.cpp index 346be50..4cbc633 100644 --- a/tests/util/test_list.cpp +++ b/tests/util/test_list.cpp @@ -24,6 +24,17 @@ bool iterate_int(void *data) return true; } +bool iterate_string(void *data) +{ + char *string = *(char **)data; + printf("Found string value: %s\n", string); + return true; +} + +void free_string(void *data) +{ + free(*(char **)data); +} BOOST_AUTO_TEST_SUITE(test_list) @@ -37,38 +48,44 @@ BOOST_AUTO_TEST_CASE(test_create_delete) { } -struct Fixture{ - Fixture() { - list = NULL; +BOOST_AUTO_TEST_CASE(test_int_list){ - list = create_list(sizeof(int), NULL); - } - ~Fixture() { - delete_list(list); - } - list_t *list; -}; + int i, numbers = 10; + list_t *list = NULL; - -BOOST_FIXTURE_TEST_CASE(test_list_append, Fixture){ - -int i, numbers = 10; + list = create_list(sizeof(int), NULL); for(i = 1; i <= numbers; i++) { append_list(list, &i); } BOOST_CHECK(size_list(list) == 10); -} - -BOOST_FIXTURE_TEST_CASE(test_list_foreach, Fixture) { - - int i, numbers = 10; - - for (i = 1; i <= numbers; i++) { - append_list(list, &i); - } for_each_list(list, iterate_int); + + delete_list(list); } + +BOOST_AUTO_TEST_CASE(test_string_list) { + int i, numNames = 5; + const char *names[] = { "David", "Kevin", "Michael", "Craig", "Jimi" }; + + list_t *list = NULL; + + list = create_list(sizeof(char *), free_string); + + char *name; + for (i = 0; i < numNames; i++) { + name = _strdup(names[i]); + append_list(list, &name); + } + + BOOST_CHECK(size_list(list) == 5); + + for_each_list(list, iterate_string); + + delete_list(list); +} + + BOOST_AUTO_TEST_SUITE_END()