/** * insert_twice: * * Test that two consecutive inserts generates different IDs. **/ static void insert_twice (GimpTestFixture *f, gconstpointer data) { gint ret_id = gimp_id_table_insert (f->id_table, data1); gpointer ret_data = gimp_id_table_lookup (f->id_table, ret_id); gint ret_id2 = gimp_id_table_insert (f->id_table, data2); gpointer ret_data2 = gimp_id_table_lookup (f->id_table, ret_id2); g_assert (ret_id != ret_id2); g_assert (ret_data == data1); g_assert (ret_data2 == data2); }
/** * gimp_test_id_table_insert_and_lookup: * * Test that insert and lookup works. **/ static void gimp_test_id_table_insert_and_lookup (GimpTestFixture *f, gconstpointer data) { gint ret_id = gimp_id_table_insert (f->id_table, data1); gpointer ret_data = gimp_id_table_lookup (f->id_table, ret_id); g_assert (ret_data == data1); }
/** * replace: * * Test that it is possible to replace data with a given ID with * different data. **/ static void replace (GimpTestFixture *f, gconstpointer data) { int ret_id = gimp_id_table_insert (f->id_table, data1); gpointer ret_data; gimp_id_table_replace (f->id_table, ret_id, data2); ret_data = gimp_id_table_lookup (f->id_table, ret_id); g_assert (ret_data == data2); }
/** * remove: * * Test that it is possible to remove data identified by the ID: **/ static void remove (GimpTestFixture *f, gconstpointer data) { gint ret_id = gimp_id_table_insert (f->id_table, data1); void *ret_data = gimp_id_table_lookup (f->id_table, ret_id); gboolean remove_successful = gimp_id_table_remove (f->id_table, ret_id); void *ret_data2 = gimp_id_table_lookup (f->id_table, ret_id); g_assert (remove_successful); g_assert (ret_data == data1); g_assert (ret_data2 == NULL); }