コード例 #1
0
ファイル: testQ.c プロジェクト: hamyoh1/COMP15s2
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;
}
コード例 #2
0
ファイル: tq.c プロジェクト: kotarou3/COMP1927-Labs
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;
}