int main (int argc, char *argv[]) { int i; Item it; Queue q1,q2; printf("Test 1: Create queues\n"); q1 = createQueue(); q2 = createQueue(); assert(q1 != NULL); assert(q2 != NULL); assert(queueLength(q1) == 0); assert(queueLength(q2) == 0); printf("Passed\n"); printf("Test 2: Add to queues\n"); for (i = 1; i <= MAX; i++) { enterQueue(q2,i); enterQueue(q1,i); assert(queueLength(q2) == i); assert(queueLength(q1) == i); } printf("Final q1: "); showQueue(q1); printf("Final q2: "); showQueue(q2); printf("Passed\n"); printf("Test 3: Remove from queues\n"); for (i = 1; i <= MAX; i++) { it = leaveQueue(q1); assert(queueLength(q1) == MAX-i); assert(i == it); it = leaveQueue(q2); assert(queueLength(q2) == MAX-i); assert(i == it); } printf("Passed\n"); printf("Test 4: Destroy queues\n"); dropQueue(q1); dropQueue(q2); printf("Passed\n"); printf("Test 5: Remove from emoty queue\n"); printf("This test should fail an assertion\n"); q1 = createQueue(); it = leaveQueue(q1); printf("Passed\n"); return 0; }
int main(int argc, char **argv) { int N = (argc < 2) ? 20 : atoi(argv[1]); if (N < 20) N = 20; Queue q; q = newQueue(); int i; char x[50]; for (i = 0; i < N; i++) { if (random()%10 > 5) { if (!emptyQueue(q)) { char *str = leaveQueue(q); printf("Remove %s\n",str); free(str); } } else { randomString(x); enterQueue(q,x); printf("Insert %s\n",x); } showQueue(q); } disposeQueue(q); return 0; }