You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
997 B

8 years ago
#include <assert.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "../src/group.h"
int main() {
group_t *group;
bool ret;
group = group_create(7, 0);
assert(group != NULL);
assert(group->num == 7);
assert(group->ids == NULL);
assert(group->caps == 0);
assert(group->size == 0);
ret = group_append(group, 17);
assert(ret == true);
assert(group->size == 1);
assert(group->caps >= group->size);
assert(group->ids != NULL);
ret = group_append(group, 19);
assert(ret == true);
assert(group->size == 2);
ret = group_append(group, 21);
assert(ret == true);
assert(group->size == 3);
ret = group_append(group, 17); /* duplicate */
assert(ret == true);
assert(group->size == 3);
/* trigger group expand */
for (int i = group->caps, n = 46; i >= 0; i--, n++)
group_append(group, n);
group_free(group);
assert(group->size == 0);
assert(group->caps == 0);
free(group);
return EXIT_SUCCESS;
}