/** Ustawienie początkowych parametrów word_list. */ static int word_list_setup(void **state) { struct word_list *l = malloc(sizeof(struct word_list)); if (!l) return -1; word_list_init(l); word_list_add(l, third); word_list_add(l, first); word_list_add(l, second); *state = l; return 0; }
/** Test funckji word_list_add(). Dodanie elementu do pustej listy. */ static void word_list_add_to_empty_test(void** state) { struct word_list *l = malloc(sizeof(word_list)); word_list_init(l); word_list_add(l, test); assert_int_equal(word_list_size(l), 1); assert_true(wcscmp(test, word_list_get(l)[0]) == 0); word_list_done(l); free(l); }
void dictionary_hints(const struct dictionary *dict, const wchar_t* word, struct word_list *list) { word_list_init(list); int *n; wchar_t **hints; possible_hints(dict, word, &n, &hints); for (int i = 0; i < *n; i++) if (dictionary_find(dict, hints[i]) && !word_list_find(list, hints[i])) word_list_add(list, hints[i]); for (int i = 0; i < *n; i++) free(hints[i]); }