diff options
author | James Booth <boothj5@gmail.com> | 2012-03-10 23:48:10 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2012-03-10 23:48:10 +0000 |
commit | f7584469bb8e546f547706083be6d7ccc19c59dc (patch) | |
tree | ce73b27d4ccb3da9b42bdaf92e9a0c3873dccff5 /test_contact_list.c | |
parent | b22a7c5fdad64636200d43219a47fca8a24cc16f (diff) | |
download | profani-tty-f7584469bb8e546f547706083be6d7ccc19c59dc.tar.gz |
Tab completion of online contacts now rolls
Diffstat (limited to 'test_contact_list.c')
-rw-r--r-- | test_contact_list.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test_contact_list.c b/test_contact_list.c index 92972651..135ddb54 100644 --- a/test_contact_list.c +++ b/test_contact_list.c @@ -359,6 +359,44 @@ static void find_on_empty_returns_null(void) assert_is_null(result); } +static void find_twice_returns_second_when_two_match(void) +{ + contact_list_add("James", NULL, NULL); + contact_list_add("Jamie", NULL, NULL); + contact_list_add("Bob", NULL, NULL); + + char *result1 = find_contact("Jam"); + char *result2 = find_contact(result1); + assert_string_equals("Jamie", result2); +} + +static void find_twice_returns_first_when_two_match_and_reset(void) +{ + contact_list_add("James", NULL, NULL); + contact_list_add("Jamie", NULL, NULL); + contact_list_add("Bob", NULL, NULL); + + char *result1 = find_contact("Jam"); + reset_search_attempts(); + char *result2 = find_contact(result1); + assert_string_equals("James", result2); +} + +static void removed_contact_not_in_search(void) +{ + contact_list_add("Jamatron", NULL, NULL); + contact_list_add("Bob", NULL, NULL); + contact_list_add("Jambo", NULL, NULL); + contact_list_add("James", NULL, NULL); + contact_list_add("Jamie", NULL, NULL); + + char *result1 = find_contact("Jam"); // Jamatron + char *result2 = find_contact(result1); // Jambo + contact_list_remove("James"); + char *result3 = find_contact(result2); + assert_string_equals("Jamie", result3); +} + void register_contact_list_tests(void) { TEST_MODULE("contact_list tests"); @@ -394,4 +432,7 @@ void register_contact_list_tests(void) 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(removed_contact_not_in_search); } |