1 /* Test the ino-map module.
2 Copyright (C) 2010-2021 Free Software Foundation, Inc.
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
16
17 /* Written by Jim Meyering. */
18
19 #include <config.h>
20
21 #include "ino-map.h"
22
23 #include "macros.h"
24
25 int
26 main ()
/* ![[previous]](../icons/n_left.png)
![[next]](../icons/n_right.png)
![[first]](../icons/n_first.png)
![[last]](../icons/n_last.png)
![[top]](../icons/top.png)
![[bottom]](../icons/bottom.png)
![[index]](../icons/index.png)
*/
27 {
28 enum { INO_MAP_INIT = 123 };
29 struct ino_map *ino_map = ino_map_alloc (INO_MAP_INIT);
30 ASSERT (ino_map != NULL);
31
32 ASSERT (ino_map_insert (ino_map, 42) == INO_MAP_INIT);
33 ASSERT (ino_map_insert (ino_map, 42) == INO_MAP_INIT);
34 ASSERT (ino_map_insert (ino_map, 398) == INO_MAP_INIT + 1);
35 ASSERT (ino_map_insert (ino_map, 398) == INO_MAP_INIT + 1);
36 ASSERT (ino_map_insert (ino_map, 0) == INO_MAP_INIT + 2);
37 ASSERT (ino_map_insert (ino_map, 0) == INO_MAP_INIT + 2);
38
39 {
40 int i;
41 for (i = 0; i < 100; i++)
42 {
43 ASSERT (ino_map_insert (ino_map, 10000 + i) == INO_MAP_INIT + 3 + i);
44 }
45 }
46
47 ino_map_free (ino_map);
48
49 return 0;
50 }