X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-array_oset.c;h=2d069d63767d8c7de18f011f89328e4cf057cbbc;hb=68dd9ac979d5c3afd72f3d2fb0d6dcda32b3c384;hp=c114c86ca7aa6f5c8b638d88a4cd220cbcf0b75a;hpb=99f430a8044e80894705b9a158e56258e41d7993;p=gnulib.git diff --git a/tests/test-array_oset.c b/tests/test-array_oset.c index c114c86ca..2d069d637 100644 --- a/tests/test-array_oset.c +++ b/tests/test-array_oset.c @@ -1,11 +1,11 @@ /* Test of ordered set data type implementation. - Copyright (C) 2006-2007 Free Software Foundation, Inc. + Copyright (C) 2006-2011 Free Software Foundation, Inc. Written by Bruno Haible , 2007. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,20 +13,19 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include #include "gl_array_oset.h" #include #include +#include "gl_xlist.h" #include "gl_array_list.h" #include "progname.h" +#include "macros.h" static const char *objects[30] = { @@ -34,8 +33,6 @@ static const char *objects[30] = "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "<", ">", "[", "]" }; -#define SIZEOF(array) (sizeof (array) / sizeof (array[0])) -#define ASSERT(condition) if (!(condition)) abort () #define RANDOM(n) (rand () % (n)) #define RANDOM_OBJECT() objects[RANDOM (SIZEOF (objects))] @@ -88,10 +85,11 @@ main (int argc, char *argv[]) unsigned int repeat; /* Create set1. */ - set1 = gl_oset_create_empty (GL_ARRAY_OSET, (gl_setelement_compar_fn) strcmp, NULL); + set1 = gl_oset_nx_create_empty (GL_ARRAY_OSET, (gl_setelement_compar_fn) strcmp, NULL); + ASSERT (set1 != NULL); /* Create set2. */ - set2 = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL, false); + set2 = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL, NULL, false); check_all (set1, set2); @@ -99,10 +97,10 @@ main (int argc, char *argv[]) for (i = 0; i < initial_size; i++) { const char *obj = RANDOM_OBJECT (); - ASSERT (gl_oset_add (set1, obj) - == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL - ? false - : (gl_sortedlist_add (set2, (gl_listelement_compar_fn)strcmp, obj), true))); + ASSERT (gl_oset_nx_add (set1, obj) + == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL + ? false + : (gl_sortedlist_add (set2, (gl_listelement_compar_fn)strcmp, obj), true))); check_all (set1, set2); } @@ -115,23 +113,23 @@ main (int argc, char *argv[]) { const char *obj = RANDOM_OBJECT (); ASSERT (gl_oset_search (set1, obj) - == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL)); + == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL)); } break; case 1: { const char *obj = RANDOM_OBJECT (); - ASSERT (gl_oset_add (set1, obj) - == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL - ? false - : (gl_sortedlist_add (set2, (gl_listelement_compar_fn)strcmp, obj), true))); + ASSERT (gl_oset_nx_add (set1, obj) + == (gl_sortedlist_search (set2, (gl_listelement_compar_fn)strcmp, obj) != NULL + ? false + : (gl_sortedlist_add (set2, (gl_listelement_compar_fn)strcmp, obj), true))); } break; case 2: { const char *obj = RANDOM_OBJECT (); ASSERT (gl_oset_remove (set1, obj) - == gl_sortedlist_remove (set2, (gl_listelement_compar_fn)strcmp, obj)); + == gl_sortedlist_remove (set2, (gl_listelement_compar_fn)strcmp, obj)); } break; }