Пример #1
0
/** 
  Test funckji dictionary_hints().
  Wstawienie do słownika 7 słów.
  Sprawdzenie, czy funkcja zwraca prawidłowe podpowiedzi.
  */
static void dictionary_hints_test(void** state) {
	struct dictionary *dict;
	dict = dictionary_new();
	struct word_list *l = malloc(sizeof(word_list));
    word_list_init(l);
    wchar_t *word1 = L"at";
    wchar_t *word2 = L"car";
    wchar_t *word3 = L"cat";
    wchar_t *word4 = L"cats";
    wchar_t *word5 = L"cut";
    wchar_t *word6 = L"mat";
    wchar_t *word7 = L"rat";
	dictionary_insert(dict, word1);
	dictionary_insert(dict, word2);
	dictionary_insert(dict, word3);
	dictionary_insert(dict, word4);
	dictionary_insert(dict, word5);
	dictionary_insert(dict, word6);
	dictionary_insert(dict, word7);
	dictionary_hints(dict, word3, l);
	assert_string_equal(l->next->word, word1);
	assert_string_equal(l->next->next->word, word2);
	assert_string_equal(l->next->next->next->word, word3);
	assert_string_equal(l->next->next->next->next->word, word4);
	assert_string_equal(l->next->next->next->next->next->word, word5);
	assert_string_equal(l->next->next->next->next->next->next->word, word6);
	assert_string_equal(l->next->next->next->next->next->next->next->word, word7);
	word_list_done(l);
	dictionary_done(dict);
	free(l);
}
Пример #2
0
/**
  Test funkcji word_list_init().
  Sprawdzenie, czy word_list powstaje prawidłowo.
  */
static void word_list_init_test(void** state) {
    struct word_list *l = malloc(sizeof(word_list));
    word_list_init(l);
    assert_int_equal(word_list_size(l), 0);
    word_list_done(l);
    free(l);
}
Пример #3
0
/// Testuje listę podpowiedzi do różnych słów
static void dict_hints_test(void **state) {
	struct dictionary* d = *state;
	struct word_list* l = malloc(sizeof(struct word_list));

	dictionary_hints(d, L"aab", l);
	assert_int_equal(word_list_size(l), 3);
	const wchar_t* const* array = word_list_get(l);
	assert_int_equal(wcscmp(array[0],  L"aa"), 0);
	assert_int_equal(wcscmp(array[1],  L"ab"), 0);
	assert_int_equal(wcscmp(array[2],  L"cab"), 0);
	word_list_done(l);

	dictionary_hints(d, L"aa", l);
	assert_int_equal(word_list_size(l), 2);
	array = word_list_get(l);
	assert_int_equal(wcscmp(array[0],  L"aa"), 0);
	assert_int_equal(wcscmp(array[1],  L"ab"), 0);
	word_list_done(l);

	dictionary_hints(d, L"ab", l);
	assert_int_equal(word_list_size(l), 4);
	array = word_list_get(l);
	assert_int_equal(wcscmp(array[0],  L"aa"), 0);
	assert_int_equal(wcscmp(array[1],  L"ab"), 0);
	assert_int_equal(wcscmp(array[2],  L"b"), 0);
	assert_int_equal(wcscmp(array[3],  L"cab"), 0);
	word_list_done(l);

	dictionary_hints(d, L"ca", l);
	assert_int_equal(word_list_size(l), 3);
	array = word_list_get(l);
	assert_int_equal(wcscmp(array[0],  L"aa"), 0);
	assert_int_equal(wcscmp(array[1],  L"c"), 0);
	assert_int_equal(wcscmp(array[2],  L"cab"), 0);
	word_list_done(l);

	dictionary_hints(d, L"a", l);
	assert_int_equal(word_list_size(l), 4);
	array = word_list_get(l);
	assert_int_equal(wcscmp(array[0],  L"aa"), 0);
	assert_int_equal(wcscmp(array[1],  L"ab"), 0);
	assert_int_equal(wcscmp(array[2],  L"b"), 0);
	assert_int_equal(wcscmp(array[3],  L"c"), 0);
	word_list_done(l);
	free(l);
}
Пример #4
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);
}
Пример #5
0
/**
  Testuje zapisyanie do listy słów.
  @param state Środowisko testowe.
  */
static void trie_to_word_list_test(void** state)
{
    trie_setup(state);

    Trie *trie = *state;

    struct word_list list;
    word_list_init(&list);

    trie_to_word_list(trie, &list);

    assert_int_equal(word_list_size(&list), 3);
    for (size_t i = 0; i < word_list_size(&list); i++)
    {
        assert_true(trie_has_word(trie, word_list_get(&list)[i]));
    }

    word_list_done(&list);
    trie_teardown(state);
}
Пример #6
0
/**
  Czyszczenei po wykonaniu testu.
  */
static int word_list_teardown(void **state) {
    struct word_list *l = *state;
    word_list_done(l);
    free(l);
    return 0;
}