Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
Sun Jan 3 01:38:14 EST 1999 Jeff Garzik <jgarzik@pobox.com>
* tests/Makefile.am:
- add array-test.c
+ add array-test.c, tree-test.c
- * tests/array-test.c:
+ * tests/array-test.c, tests/tree-test.c:
New module, tests array family
* tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
slist-test
string-test
array-test
+tree-test
node-test \
relation-test \
slist-test \
- string-test
+ string-test \
+ tree-test
noinst_PROGRAMS = $(TESTS)
relation_test_LDADD = ../libglib.la
slist_test_LDADD = ../libglib.la
string_test_LDADD = ../libglib.la
+tree_test_LDADD = ../libglib.la
--- /dev/null
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#undef G_LOG_DOMAIN
+
+#include <stdio.h>
+#include <string.h>
+#include "glib.h"
+
+int array[10000];
+gboolean failed = FALSE;
+
+#define TEST(m,cond) G_STMT_START { failed = !(cond); \
+if (failed) \
+ { if (!m) \
+ g_print ("\n(%s:%d) failed for: %s\n", __FILE__, __LINE__, ( # cond )); \
+ else \
+ g_print ("\n(%s:%d) failed for: %s: (%s)\n", __FILE__, __LINE__, ( # cond ), (gchar*)m); \
+ } \
+else \
+ g_print ("."); fflush (stdout); \
+} G_STMT_END
+
+#define C2P(c) ((gpointer) ((long) (c)))
+#define P2C(p) ((gchar) ((long) (p)))
+
+#define GLIB_TEST_STRING "el dorado "
+#define GLIB_TEST_STRING_5 "el do"
+
+typedef struct {
+ guint age;
+ gchar name[40];
+} GlibTestInfo;
+
+
+static gint
+my_compare (gconstpointer a,
+ gconstpointer b)
+{
+ const char *cha = a;
+ const char *chb = b;
+
+ return *cha - *chb;
+}
+
+static gint
+my_traverse (gpointer key,
+ gpointer value,
+ gpointer data)
+{
+ char *ch = key;
+ g_assert ((*ch) > 0);
+ return FALSE;
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ gint i, j;
+ GTree *tree;
+ char chars[62];
+
+ tree = g_tree_new (my_compare);
+ i = 0;
+ for (j = 0; j < 10; j++, i++)
+ {
+ chars[i] = '0' + j;
+ g_tree_insert (tree, &chars[i], &chars[i]);
+ }
+ for (j = 0; j < 26; j++, i++)
+ {
+ chars[i] = 'A' + j;
+ g_tree_insert (tree, &chars[i], &chars[i]);
+ }
+ for (j = 0; j < 26; j++, i++)
+ {
+ chars[i] = 'a' + j;
+ g_tree_insert (tree, &chars[i], &chars[i]);
+ }
+
+ g_tree_traverse (tree, my_traverse, G_IN_ORDER, NULL);
+
+ g_assert (g_tree_nnodes (tree) == (10 + 26 + 26));
+
+ for (i = 0; i < 10; i++)
+ g_tree_remove (tree, &chars[i]);
+
+ g_tree_traverse (tree, my_traverse, G_IN_ORDER, NULL);
+
+ return 0;
+}
+