int compare(queue_t * myqueue){ //check length of queue > 10 if (queue_getsize(myqueue) > 10){ printf("\nSize of queue > 10"); return 1; } return 0; }
static char *test_queue_two() { queue_t queue; queue_init(&queue); int x = 5, y = 6; queue_enqueue(&queue, &x); queue_enqueue(&queue, &y); int front = *(int *)queue_front(&queue); mu_assert_equals_int("Error: Incorrect value", x, front); mu_assert_equals_int("Error: Incorrect size", 2, queue_getsize(&queue)); queue_dequeue(&queue); front = *(int *)queue_front(&queue); mu_assert_equals_int("Error: Incorrect value", y, front); mu_assert_equals_int("Error: Incorrect size", 1, queue_getsize(&queue)); mu_assert("Error: queue reporting empty", !queue_isempty(&queue)); queue_destroy(&queue); return 0; }
int queuetest(int nargs, char** args) { (void)nargs; (void)args; print("Beginning queue test...\n"); struct queue* newqueue; newqueue = queue_create(); assert(newqueue != NULL); assert(queue_getsize(newqueue) == 0); assert(queue_isempty(newqueue)); queue_assertvalid(newqueue); int i; int* elem; /* push back TESTSIZE number of elements */ for (i = 0; i < TESTSIZE; ++i) { elem = (int*)kmalloc(sizeof(int)); assert(elem != NULL); *elem = i; /* check for ENOMEM */ assert(queue_push(newqueue, (void*) elem) == 0); } assert(queue_getsize(newqueue) == TESTSIZE); assert(!queue_isempty(newqueue)); queue_assertvalid(newqueue); /* pop front TESTSIZE number of elements */ for (i = 0; i < TESTSIZE; ++i) { elem = (int*)queue_front(newqueue); assert(*elem == i); queue_pop(newqueue); kfree(elem); } assert(queue_getsize(newqueue) == 0); assert(queue_isempty(newqueue)); queue_assertvalid(newqueue); /* REPEAT to test if the queue is reusable */ /* push back TESTSIZE number of elements */ for (i = 0; i < TESTSIZE; ++i) { elem = (int*)kmalloc(sizeof(int)); assert(elem != NULL); *elem = i; /* check for ENOMEM */ assert(queue_push(newqueue, (void*) elem) == 0); } assert(queue_getsize(newqueue) == TESTSIZE); assert(!queue_isempty(newqueue)); queue_assertvalid(newqueue); /* pop front TESTSIZE number of elements */ for (i = 0; i < TESTSIZE; ++i) { elem = (int*)queue_front(newqueue); assert(*elem == i); queue_pop(newqueue); kfree(elem); } assert(queue_getsize(newqueue) == 0); assert(queue_isempty(newqueue)); queue_assertvalid(newqueue); queue_destroy(newqueue); print("queue test complete\n"); return 0; }