#include <stdio.h>
#include "queue.h"

int main ( ) {
	struct queue *q;
	q = init ( );
	print (q);
	printf ("is a new queue empty? %s\n", isEmpty(q)?"yes":"no");
	q = dequeue (q);
	print (q);
	printf ("is an almost-new queue empty? %s\n", isEmpty(q)?"yes":"no");
	q = enqueue (3, q);
	print (q);
	printf ("is a queue that contains 3 empty? %s\n", isEmpty(q)?"yes":"no");
	q = enqueue (1, q);
	print (q);
	printf ("is a queue that contains 3 1 empty? %s\n", isEmpty(q)?"yes":"no");
	q = enqueue (4, q);
	print (q);
	printf ("is a queue that contains 3 1 4 empty? %s\n", isEmpty(q)?"yes":"no");
	q = enqueue (5, q);
	print (q);
	printf ("is a queue that contains 3 1 4 5 empty? %s\n", isEmpty(q)?"yes":"no");
	q = dequeue (q);
	print (q);
	printf ("is a queue that contains 1 4 5 empty? %s\n", isEmpty(q)?"yes":"no");
	q = dequeue (q);
	print (q);
	printf ("is a queue that contains 4 5 empty? %s\n", isEmpty(q)?"yes":"no");
	q = dequeue (q);
	print (q);
	printf ("is a queue that contains 5 empty? %s\n", isEmpty(q)?"yes":"no");
	q = dequeue (q);
	print (q);
	printf ("is an empty queue empty? %s\n", isEmpty(q)?"yes":"no");
	return 0;
}
