/* Test of ordered set data type implementation.
- Copyright (C) 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2010 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
#include "gl_rbtree_oset.h"
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "gl_array_oset.h"
#include "progname.h"
+#include "macros.h"
extern void gl_rbtree_oset_check_invariants (gl_oset_t set);
"p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "<", ">", "[", "]"
};
-#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- abort (); \
- } \
- } \
- while (0)
#define RANDOM(n) (rand () % (n))
#define RANDOM_OBJECT() objects[RANDOM (SIZEOF (objects))]
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_oset_create_empty (GL_RBTREE_OSET, (gl_setelement_compar_fn) strcmp, NULL);
+ set2 = gl_oset_nx_create_empty (GL_RBTREE_OSET, (gl_setelement_compar_fn) strcmp, NULL);
+ ASSERT (set2 != NULL);
check_all (set1, set2);
for (i = 0; i < initial_size; i++)
{
const char *obj = RANDOM_OBJECT ();
- ASSERT (gl_oset_add (set1, obj) == gl_oset_add (set2, obj));
+ ASSERT (gl_oset_nx_add (set1, obj) == gl_oset_nx_add (set2, obj));
check_all (set1, set2);
}
case 1:
{
const char *obj = RANDOM_OBJECT ();
- ASSERT (gl_oset_add (set1, obj) == gl_oset_add (set2, obj));
+ ASSERT (gl_oset_nx_add (set1, obj) == gl_oset_nx_add (set2, obj));
}
break;
case 2: