#include <ccan/array_size/array_size.h>
#include <ccan/tap/tap.h>

static char array1[1];
static int array2[2];
static unsigned long array3[3][5];
struct foo {
	unsigned int a, b;
	char string[100];
};
static struct foo array4[4];

/* Make sure they can be used in initializers. */
static int array1_size = ARRAY_SIZE(array1);
static int array2_size = ARRAY_SIZE(array2);
static int array3_size = ARRAY_SIZE(array3);
static int array4_size = ARRAY_SIZE(array4);

int main(void)
{
	plan_tests(8);
	ok1(array1_size == 1);
	ok1(array2_size == 2);
	ok1(array3_size == 3);
	ok1(array4_size == 4);

	ok1(ARRAY_SIZE(array1) == 1);
	ok1(ARRAY_SIZE(array2) == 2);
	ok1(ARRAY_SIZE(array3) == 3);
	ok1(ARRAY_SIZE(array4) == 4);

	return exit_status();
}
