#include <ccan/idtree/idtree.c>
#include <ccan/tap/tap.h>
#include <limits.h>

int main(int argc, char *argv[])
{
	unsigned int i;
	struct idtree *idtree;

	plan_tests(6);
	idtree = idtree_new(NULL);

	ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX-1);
	ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX);
	ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == -1);

	ok1(idtree_remove(idtree, INT_MAX-1) == true);
	ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX-1);
	ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == -1);
	talloc_free(idtree);
	exit(exit_status());
}
