void test_add_and_delete(gconstpointer data) { const grn_test_data *test_data = data; guint i; const guint n_operations = 7500; if (test_data->set_parameters) test_data->set_parameters(); cut_assert_create_hash(); ids = g_array_new(TRUE, TRUE, sizeof(grn_id)); for (i = 0; i < n_operations; i++) { if (grn_test_hash_factory_get_flags(factory) & GRN_OBJ_KEY_VAR_SIZE) key_size = strlen(test_data->key); cut_assert_lookup_add(test_data->key); test_data->increment((grn_test_data *)test_data); g_array_append_val(ids, id); } cut_assert_equal_int(n_operations, GRN_HASH_SIZE(hash)); for (i = 0; i < ids->len; i++) { grn_id delete_id; delete_id = g_array_index(ids, grn_id, i); cut_set_message("i = %d; id = %d", i, delete_id); grn_test_assert(grn_hash_delete_by_id(context, hash, delete_id, NULL)); } cut_assert_equal_int(0, GRN_HASH_SIZE(hash)); }
void test_suffix_search(gconstpointer data) { const grn_trie_test_data *test_data = data; const gchar key1[] = "セナ"; const gchar key2[] = "ナセナセ"; const gchar key3[] = "Groonga"; const gchar key4[] = "セナ + Ruby"; const gchar key5[] = "セナセナ"; trie_test_data_set_parameters(test_data); cut_assert_create_trie(); cut_assert_lookup_add(key1); cut_assert_lookup_add(key2); cut_assert_lookup_add(key3); cut_assert_lookup_add(key4); cut_assert_lookup_add(key5); cut_assert_create_hash(); grn_test_assert_equal_rc(test_data->expected_rc, grn_pat_suffix_search(context, trie, test_data->search_key, strlen(test_data->search_key), hash)); gcut_assert_equal_list_string(test_data->expected_strings, retrieve_all_keys()); }
void test_open_tiny_hash(void) { set_tiny_flags(); cut_assert_create_hash(); cut_assert_fail_open_hash(); }
void test_create(gconstpointer data) { const grn_test_set_parameters_func set_parameters = data; if (set_parameters) set_parameters(); cut_assert_create_hash(); }
void test_delete(gconstpointer data) { const grn_test_data *test_data = data; if (test_data->set_parameters) test_data->set_parameters(); cut_assert_create_hash(); if (grn_test_hash_factory_get_flags(factory) & GRN_OBJ_KEY_VAR_SIZE) key_size = strlen(test_data->key); cut_assert_delete(test_data->key); }
void test_open_without_path(void) { const gchar *saved_default_path; grn_test_hash_factory_set_flags(factory, 0); saved_default_path = cut_take_strdup(grn_test_hash_factory_get_path(factory)); grn_test_hash_factory_set_path(factory, NULL); cut_assert_path_not_exist(saved_default_path); cut_assert_create_hash(); cut_assert_path_not_exist(saved_default_path); cut_assert_fail_open_hash(); cut_assert_path_not_exist(saved_default_path); }
void test_set_value_with_null_value(gconstpointer data) { const grn_test_set_parameters_func set_parameters = data; grn_id nonexistence_id = 999; if (set_parameters) set_parameters(); cut_assert_create_hash(); grn_test_assert_equal_rc(GRN_INVALID_ARGUMENT, grn_hash_set_value(context, hash, nonexistence_id, NULL, GRN_OBJ_SET)); put_sample_entry(); grn_test_assert_equal_rc(GRN_INVALID_ARGUMENT, grn_hash_set_value(context, hash, sample_id, NULL, GRN_OBJ_SET)); }
void test_set_value(gconstpointer data) { const grn_test_set_parameters_func set_parameters = data; gchar got_value[GRN_TEST_HASH_FACTORY_DEFAULT_VALUE_SIZE]; if (set_parameters) set_parameters(); cut_assert_create_hash(); put_sample_entry(); grn_test_assert(grn_hash_set_value(context, hash, sample_id, "XXX", GRN_OBJ_SET)); cut_assert_equal_int(GRN_TEST_HASH_FACTORY_DEFAULT_VALUE_SIZE, grn_hash_get_value(context, hash, sample_id, got_value)); cut_assert_equal_string("XXX", got_value); }
void test_get_key(gconstpointer data) { const grn_test_set_parameters_func set_parameters = data; uint32_t key = 29; uint32_t initial_key = 999999; uint32_t got_key; grn_search_flags flags; if (set_parameters) set_parameters(); cut_assert_create_hash(); flags = GRN_TABLE_ADD; cut_assert_lookup(&key, &flags); got_key = initial_key; cut_assert_equal_int(key_size, grn_hash_get_key(context, hash, id, &got_key, key_size)); cut_assert_equal_uint(key, got_key); }
void test_get_value(gconstpointer data) { const grn_test_set_parameters_func set_parameters = data; uint32_t key = 29; gchar set_value[] = "ABCDE"; gchar initial_value[] = "XYZ"; gchar got_value[GRN_TEST_HASH_FACTORY_DEFAULT_VALUE_SIZE]; grn_search_flags flags; if (set_parameters) set_parameters(); cut_assert_create_hash(); flags = GRN_TABLE_ADD; cut_assert_lookup(&key, &flags); strcpy(value, set_value); strcpy(got_value, initial_value); cut_assert_equal_int(GRN_TEST_HASH_FACTORY_DEFAULT_VALUE_SIZE, grn_hash_get_value(context, hash, id, got_value)); cut_assert_equal_string(set_value, got_value); }