Convert test/relation-test.c to glib test framework

This commit is contained in:
Emmanuel Fleury 2022-03-17 18:32:31 +01:00
parent 1094144b7a
commit 372b63bf1a

View File

@ -22,12 +22,7 @@
* GLib at ftp://ftp.gtk.org/pub/gtk/.
*/
#undef G_DISABLE_ASSERT
#undef G_LOG_DOMAIN
#include <stdio.h>
#include <string.h>
#include "glib.h"
#include <glib.h>
int array[10000];
gboolean failed = FALSE;
@ -50,22 +45,18 @@ else \
#define GLIB_TEST_STRING_5 "el do"
typedef struct {
guint age;
gchar name[40];
guint age;
gchar name[40];
} GlibTestInfo;
int
main (int argc,
char *argv[])
static void
test_relation (void)
{
gint i;
GRelation *relation;
GTuples *tuples;
gint data [1024];
relation = g_relation_new (2);
g_relation_index (relation, 0, g_int_hash, g_int_equal);
@ -82,55 +73,54 @@ main (int argc,
for (i = 2; i < 1022; i += 1)
{
g_assert (! g_relation_exists (relation, data + i, data + i));
g_assert (! g_relation_exists (relation, data + i, data + i + 2));
g_assert (! g_relation_exists (relation, data + i, data + i - 2));
g_assert_false (g_relation_exists (relation, data + i, data + i));
g_assert_false (g_relation_exists (relation, data + i, data + i + 2));
g_assert_false (g_relation_exists (relation, data + i, data + i - 2));
}
for (i = 1; i < 1023; i += 1)
{
g_assert (g_relation_exists (relation, data + i, data + i + 1));
g_assert (g_relation_exists (relation, data + i, data + i - 1));
g_assert_true (g_relation_exists (relation, data + i, data + i + 1));
g_assert_true (g_relation_exists (relation, data + i, data + i - 1));
}
for (i = 2; i < 1022; i += 1)
{
g_assert (g_relation_count (relation, data + i, 0) == 2);
g_assert (g_relation_count (relation, data + i, 1) == 2);
g_assert_cmpint (g_relation_count (relation, data + i, 0), ==, 2);
g_assert_cmpint (g_relation_count (relation, data + i, 1), ==, 2);
}
g_assert (g_relation_count (relation, data, 0) == 0);
g_assert_cmpint (g_relation_count (relation, data, 0), ==, 0);
g_assert_cmpint (g_relation_count (relation, data + 42, 0), ==, 2);
g_assert_cmpint (g_relation_count (relation, data + 43, 1), ==, 2);
g_assert_cmpint (g_relation_count (relation, data + 41, 1), ==, 2);
g_assert (g_relation_count (relation, data + 42, 0) == 2);
g_assert (g_relation_count (relation, data + 43, 1) == 2);
g_assert (g_relation_count (relation, data + 41, 1) == 2);
g_relation_delete (relation, data + 42, 0);
g_assert (g_relation_count (relation, data + 42, 0) == 0);
g_assert (g_relation_count (relation, data + 43, 1) == 1);
g_assert (g_relation_count (relation, data + 41, 1) == 1);
g_assert_cmpint (g_relation_count (relation, data + 42, 0), ==, 0);
g_assert_cmpint (g_relation_count (relation, data + 43, 1), ==, 1);
g_assert_cmpint (g_relation_count (relation, data + 41, 1), ==, 1);
tuples = g_relation_select (relation, data + 200, 0);
g_assert (tuples->len == 2);
g_assert_cmpint (tuples->len, ==, 2);
#if 0
for (i = 0; i < tuples->len; i += 1)
{
printf ("%d %d\n",
*(gint*) g_tuples_index (tuples, i, 0),
*(gint*) g_tuples_index (tuples, i, 1));
}
#endif
g_assert (g_relation_exists (relation, data + 300, data + 301));
g_assert_true (g_relation_exists (relation, data + 300, data + 301));
g_relation_delete (relation, data + 300, 0);
g_assert (!g_relation_exists (relation, data + 300, data + 301));
g_assert_false (g_relation_exists (relation, data + 300, data + 301));
g_tuples_destroy (tuples);
g_relation_destroy (relation);
relation = NULL;
return 0;
}
int
main (int argc,
char *argv[])
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/glib/relation", test_relation);
return g_test_run ();
}