diff options
author | James Booth <boothj5@gmail.com> | 2013-12-14 17:03:39 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2013-12-14 17:03:39 +0000 |
commit | 0b3a9f5785e0e6e09c2760a6c6ab220bd08f80d4 (patch) | |
tree | 516162a6ea6a953e39af58ff6b08b4ec8f23390e /tests | |
parent | 4bb38ac011b823bd8d2a4ba4beb776f757843d10 (diff) | |
download | profani-tty-0b3a9f5785e0e6e09c2760a6c6ab220bd08f80d4.tar.gz |
Added roster_list tests to cmocka
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_roster_list.c | 190 | ||||
-rw-r--r-- | tests/test_roster_list.h | 20 | ||||
-rw-r--r-- | tests/testsuite.c | 22 |
3 files changed, 139 insertions, 93 deletions
diff --git a/tests/test_roster_list.c b/tests/test_roster_list.c index 1281beb3..b65d9f83 100644 --- a/tests/test_roster_list.c +++ b/tests/test_roster_list.c @@ -1,60 +1,60 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <head-unit.h> #include <glib.h> +#include <stdarg.h> +#include <string.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> +#include <stdlib.h> #include "contact.h" #include "roster_list.h" -static void beforetest(void) +void empty_list_when_none_added(void **state) { roster_init(); -} - -static void aftertest(void) -{ - roster_free(); -} - -static void empty_list_when_none_added(void) -{ GSList *list = roster_get_contacts(); - assert_is_null(list); + assert_null(list); + roster_free(); } -static void contains_one_element(void) +void contains_one_element(void **state) { + roster_init(); printf("0\n"); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); printf("1\n"); GSList *list = roster_get_contacts(); printf("2\n"); - assert_int_equals(1, g_slist_length(list)); + assert_int_equal(1, g_slist_length(list)); printf("3\n"); + roster_free(); } -static void first_element_correct(void) +void first_element_correct(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); PContact james = list->data; - assert_string_equals("James", p_contact_barejid(james)); + assert_string_equal("James", p_contact_barejid(james)); + roster_free(); } -static void contains_two_elements(void) +void contains_two_elements(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); - assert_int_equals(2, g_slist_length(list)); + assert_int_equal(2, g_slist_length(list)); + roster_free(); } -static void first_and_second_elements_correct(void) +void first_and_second_elements_correct(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); @@ -62,22 +62,26 @@ static void first_and_second_elements_correct(void) PContact first = list->data; PContact second = (g_slist_next(list))->data; - assert_string_equals("Dave", p_contact_barejid(first)); - assert_string_equals("James", p_contact_barejid(second)); + assert_string_equal("Dave", p_contact_barejid(first)); + assert_string_equal("James", p_contact_barejid(second)); + roster_free(); } -static void contains_three_elements(void) +void contains_three_elements(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); - assert_int_equals(3, g_slist_length(list)); + assert_int_equal(3, g_slist_length(list)); + roster_free(); } -static void first_three_elements_correct(void) +void first_three_elements_correct(void **state) { + roster_init(); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); @@ -86,13 +90,15 @@ static void first_three_elements_correct(void) PContact dave = (g_slist_next(list))->data; PContact james = (g_slist_next(g_slist_next(list)))->data; - assert_string_equals("James", p_contact_barejid(james)); - assert_string_equals("Dave", p_contact_barejid(dave)); - assert_string_equals("Bob", p_contact_barejid(bob)); + assert_string_equal("James", p_contact_barejid(james)); + assert_string_equal("Dave", p_contact_barejid(dave)); + assert_string_equal("Bob", p_contact_barejid(bob)); + roster_free(); } -static void add_twice_at_beginning_adds_once(void) +void add_twice_at_beginning_adds_once(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); @@ -102,14 +108,16 @@ static void add_twice_at_beginning_adds_once(void) PContact second = (g_slist_next(list))->data; PContact third = (g_slist_next(g_slist_next(list)))->data; - assert_int_equals(3, g_slist_length(list)); - assert_string_equals("Bob", p_contact_barejid(first)); - assert_string_equals("Dave", p_contact_barejid(second)); - assert_string_equals("James", p_contact_barejid(third)); + assert_int_equal(3, g_slist_length(list)); + assert_string_equal("Bob", p_contact_barejid(first)); + assert_string_equal("Dave", p_contact_barejid(second)); + assert_string_equal("James", p_contact_barejid(third)); + roster_free(); } -static void add_twice_in_middle_adds_once(void) +void add_twice_in_middle_adds_once(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); @@ -119,14 +127,16 @@ static void add_twice_in_middle_adds_once(void) PContact second = (g_slist_next(list))->data; PContact third = (g_slist_next(g_slist_next(list)))->data; - assert_int_equals(3, g_slist_length(list)); - assert_string_equals("Bob", p_contact_barejid(first)); - assert_string_equals("Dave", p_contact_barejid(second)); - assert_string_equals("James", p_contact_barejid(third)); + assert_int_equal(3, g_slist_length(list)); + assert_string_equal("Bob", p_contact_barejid(first)); + assert_string_equal("Dave", p_contact_barejid(second)); + assert_string_equal("James", p_contact_barejid(third)); + roster_free(); } -static void add_twice_at_end_adds_once(void) +void add_twice_at_end_adds_once(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); @@ -136,32 +146,38 @@ static void add_twice_at_end_adds_once(void) PContact second = (g_slist_next(list))->data; PContact third = (g_slist_next(g_slist_next(list)))->data; - assert_int_equals(3, g_slist_length(list)); - assert_string_equals("Bob", p_contact_barejid(first)); - assert_string_equals("Dave", p_contact_barejid(second)); - assert_string_equals("James", p_contact_barejid(third)); + assert_int_equal(3, g_slist_length(list)); + assert_string_equal("Bob", p_contact_barejid(first)); + assert_string_equal("Dave", p_contact_barejid(second)); + assert_string_equal("James", p_contact_barejid(third)); + roster_free(); } -static void test_show_online_when_no_value(void) +void test_show_online_when_no_value(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); PContact james = list->data; - assert_string_equals("offline", p_contact_presence(james)); + assert_string_equal("offline", p_contact_presence(james)); + roster_free(); } -static void test_status_when_no_value(void) +void test_status_when_no_value(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); GSList *list = roster_get_contacts(); PContact james = list->data; - assert_is_null(p_contact_status(james)); + assert_null(p_contact_status(james)); + roster_free(); } -static void find_first_exists(void) +void find_first_exists(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); @@ -170,64 +186,76 @@ static void find_first_exists(void) strcpy(search, "B"); char *result = roster_find_contact(search); - assert_string_equals("Bob", result); + assert_string_equal("Bob", result); free(result); free(search); + roster_free(); } -static void find_second_exists(void) +void find_second_exists(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); char *result = roster_find_contact("Dav"); - assert_string_equals("Dave", result); + assert_string_equal("Dave", result); free(result); + roster_free(); } -static void find_third_exists(void) +void find_third_exists(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); char *result = roster_find_contact("Ja"); - assert_string_equals("James", result); + assert_string_equal("James", result); free(result); + roster_free(); } -static void find_returns_null(void) +void find_returns_null(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Dave", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); char *result = roster_find_contact("Mike"); - assert_is_null(result); + assert_null(result); + roster_free(); } -static void find_on_empty_returns_null(void) +void find_on_empty_returns_null(void **state) { + roster_init(); char *result = roster_find_contact("James"); - assert_is_null(result); + assert_null(result); + roster_free(); } -static void find_twice_returns_second_when_two_match(void) +void find_twice_returns_second_when_two_match(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Jamie", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); char *result1 = roster_find_contact("Jam"); char *result2 = roster_find_contact(result1); - assert_string_equals("Jamie", result2); + assert_string_equal("Jamie", result2); free(result1); free(result2); + roster_free(); } -static void find_five_times_finds_fifth(void) +void find_five_times_finds_fifth(void **state) { + roster_init(); roster_add("Jama", NULL, NULL, NULL, FALSE, TRUE); roster_add("Jamb", NULL, NULL, NULL, FALSE, TRUE); roster_add("Mike", NULL, NULL, NULL, FALSE, TRUE); @@ -244,16 +272,18 @@ static void find_five_times_finds_fifth(void) char *result3 = roster_find_contact(result2); char *result4 = roster_find_contact(result3); char *result5 = roster_find_contact(result4); - assert_string_equals("Jamo", result5); + assert_string_equal("Jamo", result5); free(result1); free(result2); free(result3); free(result4); free(result5); + roster_free(); } -static void find_twice_returns_first_when_two_match_and_reset(void) +void find_twice_returns_first_when_two_match_and_reset(void **state) { + roster_init(); roster_add("James", NULL, NULL, NULL, FALSE, TRUE); roster_add("Jamie", NULL, NULL, NULL, FALSE, TRUE); roster_add("Bob", NULL, NULL, NULL, FALSE, TRUE); @@ -261,34 +291,8 @@ static void find_twice_returns_first_when_two_match_and_reset(void) char *result1 = roster_find_contact("Jam"); roster_reset_search_attempts(); char *result2 = roster_find_contact(result1); - assert_string_equals("James", result2); + assert_string_equal("James", result2); free(result1); free(result2); -} - -void register_roster_list_tests(void) -{ - TEST_MODULE("roster_list tests"); - BEFORETEST(beforetest); - AFTERTEST(aftertest); - TEST(empty_list_when_none_added); - TEST(contains_one_element); - TEST(first_element_correct); - TEST(contains_two_elements); - TEST(first_and_second_elements_correct); - TEST(contains_three_elements); - TEST(first_three_elements_correct); - TEST(add_twice_at_beginning_adds_once); - TEST(add_twice_in_middle_adds_once); - TEST(add_twice_at_end_adds_once); - TEST(test_show_online_when_no_value); - TEST(test_status_when_no_value); - TEST(find_first_exists); - TEST(find_second_exists); - TEST(find_third_exists); - TEST(find_returns_null); - TEST(find_on_empty_returns_null); - TEST(find_twice_returns_second_when_two_match); - TEST(find_twice_returns_first_when_two_match_and_reset); - TEST(find_five_times_finds_fifth); + roster_free(); } diff --git a/tests/test_roster_list.h b/tests/test_roster_list.h new file mode 100644 index 00000000..e5ac15f1 --- /dev/null +++ b/tests/test_roster_list.h @@ -0,0 +1,20 @@ +void empty_list_when_none_added(void **state); +void contains_one_element(void **state); +void first_element_correct(void **state); +void contains_two_elements(void **state); +void first_and_second_elements_correct(void **state); +void contains_three_elements(void **state); +void first_three_elements_correct(void **state); +void add_twice_at_beginning_adds_once(void **state); +void add_twice_in_middle_adds_once(void **state); +void add_twice_at_end_adds_once(void **state); +void test_show_online_when_no_value(void **state); +void test_status_when_no_value(void **state); +void find_first_exists(void **state); +void find_second_exists(void **state); +void find_third_exists(void **state); +void find_returns_null(void **state); +void find_on_empty_returns_null(void **state); +void find_twice_returns_second_when_two_match(void **state); +void find_five_times_finds_fifth(void **state); +void find_twice_returns_first_when_two_match_and_reset(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index 482d71c0..c67557d1 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -9,6 +9,7 @@ #include "test_history.h" #include "test_jid.h" #include "test_parser.h" +#include "test_roster_list.h" int main(int argc, char* argv[]) { const UnitTest tests[] = { @@ -137,6 +138,27 @@ int main(int argc, char* argv[]) { unit_test(get_first_two_of_three_first_quoted), unit_test(get_first_two_of_three_second_quoted), unit_test(get_first_two_of_three_first_and_second_quoted), + + unit_test(empty_list_when_none_added), + unit_test(contains_one_element), + unit_test(first_element_correct), + unit_test(contains_two_elements), + unit_test(first_and_second_elements_correct), + unit_test(contains_three_elements), + unit_test(first_three_elements_correct), + unit_test(add_twice_at_beginning_adds_once), + unit_test(add_twice_in_middle_adds_once), + unit_test(add_twice_at_end_adds_once), + unit_test(test_show_online_when_no_value), + unit_test(test_status_when_no_value), + unit_test(find_first_exists), + unit_test(find_second_exists), + unit_test(find_third_exists), + unit_test(find_returns_null), + unit_test(find_on_empty_returns_null), + unit_test(find_twice_returns_second_when_two_match), + unit_test(find_five_times_finds_fifth), + unit_test(find_twice_returns_first_when_two_match_and_reset), }; return run_tests(tests); } |