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 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);
void add_contact_with_no_group(void **state);
void add_contact_with_group(void **state);
void add_contact_with_two_groups(void **state);
void add_contact_with_three_groups(void **state);
void add_contact_with_three_groups_update_adding_two(void **state);
void add_contact_with_three_groups_update_removing_one(void **state);
void add_contact_with_three_groups_update_removing_two(void **state);
void add_contact_with_three_groups_update_removing_three(void **state);
void add_contact_with_three_groups_update_two_new(void **state);
void add_remove_contact_groups(void **state);
void add_contacts_with_different_groups(void **state);
void add_contacts_with_same_groups(void **state);
void add_contacts_with_overlapping_groups(void **state);
void remove_contact_with_remaining_in_group(void **state);