- jmap_foo_add(map, i, foo[i]);
-
- ok1(jmap_foo_popcount(map, 0, -1) == NUM);
- ok1(jmap_foo_popcount(map, 0, NUM-1) == NUM);
- ok1(jmap_foo_popcount(map, 0, NUM/2-1) == NUM/2);
- ok1(jmap_foo_popcount(map, NUM/2, NUM) == NUM - NUM/2);
-
- ok1(jmap_foo_nth(map, 0, -1) == 0);
- ok1(jmap_foo_nth(map, NUM-1, -1) == NUM-1);
- ok1(jmap_foo_nth(map, NUM, -1) == (size_t)-1);
- ok1(jmap_foo_first(map, -1) == 0);
- ok1(jmap_foo_last(map, -1) == NUM-1);
- ok1(jmap_foo_next(map, 0, -1) == 1);
- ok1(jmap_foo_next(map, NUM-1, -1) == (size_t)-1);
- ok1(jmap_foo_prev(map, 1, -1) == 0);
- ok1(jmap_foo_prev(map, 0, -1) == (size_t)-1);
-
- ok1(jmap_foo_get(map, 0) == foo[0]);
- ok1(jmap_foo_get(map, NUM-1) == foo[NUM-1]);
- ok1(jmap_foo_get(map, NUM) == NULL);
+ jmap_add(map, i+1, foo[i]);
+
+ ok1(jmap_count(map) == NUM);
+ ok1(jmap_popcount(map, 0, -1) == NUM);
+ ok1(jmap_popcount(map, 1, NUM) == NUM);
+ ok1(jmap_popcount(map, 1, NUM/2) == NUM/2);
+ ok1(jmap_popcount(map, NUM/2+1, NUM) == NUM - NUM/2);
+
+ ok1(jmap_nth(map, 0, -1) == 1);
+ ok1(jmap_nth(map, NUM-1, -1) == NUM);
+ ok1(jmap_nth(map, NUM, -1) == (size_t)-1);
+ ok1(jmap_first(map) == 1);
+ ok1(jmap_last(map) == NUM);
+ ok1(jmap_next(map, 1) == 2);
+ ok1(jmap_next(map, NUM) == 0);
+ ok1(jmap_prev(map, 2) == 1);
+ ok1(jmap_prev(map, 1) == 0);
+
+ ok1(jmap_get(map, 1) == foo[0]);
+ ok1(jmap_get(map, NUM) == foo[NUM-1]);
+ ok1(jmap_get(map, NUM+1) == NULL);