New module 'mbsrchr'.
[gnulib.git] / lib / i-ring-test.c
1 #include <assert.h>
2 #include "i-ring.h"
3 /* Test with this:
4    gcc -I. -Wall -W -O i-ring-test.c i-ring.c -L. -lcoreutils && ./a.out
5 */
6
7 int
8 main ()
9 {
10   I_ring ir;
11   i_ring_init (&ir, -1);
12   int o = i_ring_push (&ir, 1);
13   assert (o == -1);
14   o = i_ring_push (&ir, 2);
15   assert (o == -1);
16   o = i_ring_push (&ir, 3);
17   assert (o == -1);
18   o = i_ring_push (&ir, 4);
19   assert (o == -1);
20   o = i_ring_push (&ir, 5);
21   assert (o == 1);
22   o = i_ring_push (&ir, 6);
23   assert (o == 2);
24   o = i_ring_push (&ir, 7);
25   assert (o == 3);
26
27   o = i_ring_pop (&ir);
28   assert (o == 7);
29   o = i_ring_pop (&ir);
30   assert (o == 6);
31   o = i_ring_pop (&ir);
32   assert (o == 5);
33   o = i_ring_pop (&ir);
34   assert (o == 4);
35   assert (i_ring_empty (&ir));
36
37   o = i_ring_push (&ir, 8);
38   assert (o == -1);
39   o = i_ring_pop (&ir);
40   assert (o == 8);
41   assert (i_ring_empty (&ir));
42
43   return 0;
44 }