shell_test.c type_dequeue.c
Mise à jour des tests et de dequeue
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "error.h"
|
||||
#include "files.h"
|
||||
#include "graphs.h"
|
||||
#include "nfa.h"
|
||||
@@ -20,7 +21,8 @@
|
||||
|
||||
#define TEST_DEQUEUE true
|
||||
#define TEST_BOOLARRAY false
|
||||
#define NB_TESTS_OCCUR 1000
|
||||
#define NB_TESTS_OCCUR 100000
|
||||
#define NB_MAX_SIZE_DEQUEUE 100
|
||||
|
||||
static void printf_dequeue(dequeue *dq, char *function, char *var,
|
||||
int i_function, int i_result) {
|
||||
@@ -78,6 +80,11 @@ void test(void) {
|
||||
// nfa* A = create_sing_epsilon();
|
||||
// nfa_view(A);
|
||||
|
||||
if (NB_MAX_SIZE_DEQUEUE == 0) {
|
||||
ERROR("NB_MAX_SIZE_DEQUEUE doit être supérieur à 0");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Tests de dequeue
|
||||
if (TEST_DEQUEUE) {
|
||||
dequeue *dq = create_dequeue();
|
||||
@@ -142,7 +149,7 @@ void test(void) {
|
||||
"Test makeempty_dequeue et copy_dequeue_right in array [1, 20]\n"); // Test makeempty_dequeue et copy_dequeue_right
|
||||
printf("--------------------\n");
|
||||
dequeue *dq2 = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
makeempty_dequeue(dq2);
|
||||
// printf_dequeue(dq2, "makeempty_dequeue", "dq2", -1, -1);
|
||||
copy_dequeue_right(dq2, dq, i);
|
||||
@@ -159,7 +166,7 @@ void test(void) {
|
||||
printf("--------------------\n");
|
||||
printf("Test mem_dequeue in array [1, 20]\n"); // Test mem_dequeue
|
||||
printf("--------------------\n");
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
uint value = rand() % 100;
|
||||
// printf_dequeue(dq, "mem_dequeue", "dq2", value,
|
||||
// mem_dequeue(value, dq));
|
||||
@@ -170,7 +177,7 @@ void test(void) {
|
||||
if (dq == NULL) delete_dequeue(dq2);
|
||||
for (uint k = 0; k < NB_TESTS_OCCUR; k++) {
|
||||
dq2 = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100 + 1; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE + 1; i++) {
|
||||
lefins_dequeue(rand() % 100, dq2);
|
||||
}
|
||||
// printf_dequeue(dq2, "random", "dq2", -1, -1);
|
||||
@@ -180,14 +187,15 @@ void test(void) {
|
||||
printf(
|
||||
"Test sort_dequeue_norepeat\n"); // Test sort_dequeue_norepeat
|
||||
printf("--------------------\n");
|
||||
for (uint i = 0; i < size_dequeue(dq2) - 1; i++) {
|
||||
for (uint i = 0; size_dequeue(dq2) > 0 && i < size_dequeue(dq2) - 1;
|
||||
i++) {
|
||||
assert(lefread_dequeue(dq2, i) < lefread_dequeue(dq2, i + 1));
|
||||
printf(
|
||||
"%u - assert(lefread_dequeue(dq2, %d) < "
|
||||
"%u%% - assert(lefread_dequeue(dq2, %d) < "
|
||||
"lefread_dequeue(dq2, "
|
||||
"%d)) "
|
||||
"check\n",
|
||||
k, i, i + 1);
|
||||
k / (NB_TESTS_OCCUR / 100), i, i + 1);
|
||||
}
|
||||
// for (uint i = 0; i < 20; i++) {
|
||||
// printf_dequeue(dq2, "mem_dequeue_sorted", "dq2", i,
|
||||
@@ -196,7 +204,8 @@ void test(void) {
|
||||
printf("--------------------\n");
|
||||
printf("Test mem_dequeue_sorted\n"); // Test mem_dequeue_sorted
|
||||
printf("--------------------\n");
|
||||
for (uint i = 0; i < size_dequeue(dq2); i++) {
|
||||
for (uint i = 0; size_dequeue(dq2) > 0 && i < size_dequeue(dq2);
|
||||
i++) {
|
||||
assert(mem_dequeue_sorted(i, dq2) == mem_dequeue(i, dq2));
|
||||
printf("assert(mem_dequeue_sorted(%d, dq2) == %d) check\n", i,
|
||||
mem_dequeue(i, dq2));
|
||||
@@ -210,46 +219,54 @@ void test(void) {
|
||||
dq = create_dequeue();
|
||||
dq2 = create_dequeue();
|
||||
dequeue *dq3 = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq);
|
||||
}
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq2);
|
||||
}
|
||||
sort_dequeue_norepeat(dq);
|
||||
sort_dequeue_norepeat(dq2);
|
||||
copy_dequeue_right(dq3, dq, 0);
|
||||
merge_sorted_dequeue(dq3, dq2);
|
||||
for (uint i = 0; i < size_dequeue(dq3) - 1; i++) {
|
||||
for (uint i = 0; size_dequeue(dq3) > 0 && i < size_dequeue(dq3) - 1;
|
||||
i++) {
|
||||
printf("size = %d\n", size_dequeue(dq3));
|
||||
assert(lefread_dequeue(dq3, i) < lefread_dequeue(dq3, i + 1));
|
||||
printf(
|
||||
"%u - assert(lefread_dequeue(dq2, %d) < "
|
||||
"%u%% - assert(lefread_dequeue(dq2, %d) < "
|
||||
"lefread_dequeue(dq2, "
|
||||
"%d)) "
|
||||
"check\n",
|
||||
k, i, i + 1);
|
||||
k / (NB_TESTS_OCCUR / 100), i, i + 1);
|
||||
}
|
||||
for (uint i = 0; i < size_dequeue(dq3); i++) {
|
||||
for (uint i = 0; size_dequeue(dq3) > 0 && i < size_dequeue(dq3);
|
||||
i++) {
|
||||
assert(mem_dequeue_sorted(lefread_dequeue(dq3, i), dq) ||
|
||||
mem_dequeue_sorted(lefread_dequeue(dq3, i), dq2));
|
||||
printf(
|
||||
"%u - assert(mem_dequeue_sorted(%d, dq) || "
|
||||
"%u%% - assert(mem_dequeue_sorted(%d, dq) || "
|
||||
"mem_dequeue_sorted(%d, dq2)) check\n",
|
||||
k, lefread_dequeue(dq3, i), lefread_dequeue(dq3, i));
|
||||
k / (NB_TESTS_OCCUR / 100), lefread_dequeue(dq3, i),
|
||||
lefread_dequeue(dq3, i));
|
||||
}
|
||||
for (uint i = 0; i < size_dequeue(dq); i++) {
|
||||
for (uint i = 0; size_dequeue(dq) > 0 && i < size_dequeue(dq);
|
||||
i++) {
|
||||
assert(mem_dequeue_sorted(lefread_dequeue(dq, i), dq3));
|
||||
printf(
|
||||
"%u - assert(mem_dequeue_sorted(leftread_dequeue(dq, %d), "
|
||||
"%u%% - assert(mem_dequeue_sorted(leftread_dequeue(dq, "
|
||||
"%d), "
|
||||
"dq3)) check\n",
|
||||
k, i);
|
||||
k / (NB_TESTS_OCCUR / 100), i);
|
||||
}
|
||||
for (uint i = 0; i < size_dequeue(dq2); i++) {
|
||||
for (uint i = 0; size_dequeue(dq2) > 0 && i < size_dequeue(dq2);
|
||||
i++) {
|
||||
assert(mem_dequeue_sorted(lefread_dequeue(dq2, i), dq3));
|
||||
printf(
|
||||
"%u - assert(mem_dequeue_sorted(leftread_dequeue(dq2, %d), "
|
||||
"%u%% - assert(mem_dequeue_sorted(leftread_dequeue(dq2, "
|
||||
"%d), "
|
||||
"dq3)) check\n",
|
||||
k, i);
|
||||
k / (NB_TESTS_OCCUR / 100), i);
|
||||
}
|
||||
if (dq == NULL) delete_dequeue(dq);
|
||||
if (dq2 == NULL) delete_dequeue(dq2);
|
||||
@@ -263,22 +280,24 @@ void test(void) {
|
||||
for (uint k = 0; k < NB_TESTS_OCCUR; k++) {
|
||||
dq = create_dequeue();
|
||||
dq2 = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq);
|
||||
}
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq2);
|
||||
}
|
||||
sort_dequeue_norepeat(dq);
|
||||
sort_dequeue_norepeat(dq2);
|
||||
dequeue *dq3 = make_inter_sorted_dequeue(dq, dq2);
|
||||
for (uint i = 0; i < size_dequeue(dq3); i++) {
|
||||
for (uint i = 0; size_dequeue(dq3) > 0 && i < size_dequeue(dq3);
|
||||
i++) {
|
||||
assert(mem_dequeue_sorted(lefread_dequeue(dq3, i), dq) &&
|
||||
mem_dequeue_sorted(lefread_dequeue(dq3, i), dq2));
|
||||
printf(
|
||||
"%u - assert(mem_dequeue_sorted(%d, dq) && "
|
||||
"%u%% - assert(mem_dequeue_sorted(%d, dq) && "
|
||||
"mem_dequeue_sorted(%d, dq2)) check\n",
|
||||
k, lefread_dequeue(dq3, i), lefread_dequeue(dq3, i));
|
||||
k / (NB_TESTS_OCCUR / 100), lefread_dequeue(dq3, i),
|
||||
lefread_dequeue(dq3, i));
|
||||
}
|
||||
if (dq == NULL) delete_dequeue(dq);
|
||||
if (dq2 == NULL) delete_dequeue(dq2);
|
||||
@@ -291,10 +310,10 @@ void test(void) {
|
||||
for (uint k = 0; k < NB_TESTS_OCCUR; k++) {
|
||||
dq = create_dequeue();
|
||||
dq2 = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq);
|
||||
}
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq2);
|
||||
}
|
||||
sort_dequeue_norepeat(dq);
|
||||
@@ -303,30 +322,33 @@ void test(void) {
|
||||
dequeue *dq3 = make_inter_sorted_dequeue(dq, dq2);
|
||||
assert(result == (size_dequeue(dq3) > 0));
|
||||
printf(
|
||||
"%u - size_dequeue(make_inter_sorted_dequeue(dq, dq2)) check\n",
|
||||
k);
|
||||
"%u%% - size_dequeue(make_inter_sorted_dequeue(dq, dq2)) "
|
||||
"check\n",
|
||||
k / (NB_TESTS_OCCUR / 100));
|
||||
if (dq == NULL) delete_dequeue(dq);
|
||||
if (dq2 == NULL) delete_dequeue(dq2);
|
||||
}
|
||||
for (uint k = 0; k < NB_TESTS_OCCUR; k++) {
|
||||
dq = create_dequeue();
|
||||
for (uint i = 0; i < (uint)rand() % 100; i++) {
|
||||
for (uint i = 0; i < (uint)rand() % NB_MAX_SIZE_DEQUEUE; i++) {
|
||||
lefins_dequeue(rand() % 100, dq);
|
||||
}
|
||||
sort_dequeue_norepeat(dq);
|
||||
uint val = rand() % 100;
|
||||
insert_dequeue(dq, val);
|
||||
for (uint i = 0; i < size_dequeue(dq) - 1; i++) {
|
||||
for (uint i = 0; size_dequeue(dq) > 0 && i < size_dequeue(dq) - 1;
|
||||
i++) {
|
||||
assert(lefread_dequeue(dq, i) < lefread_dequeue(dq, i + 1));
|
||||
printf(
|
||||
"%u - assert(lefread_dequeue(dq2, %d) < "
|
||||
"%u%% - assert(lefread_dequeue(dq2, %d) < "
|
||||
"lefread_dequeue(dq2, "
|
||||
"%d)) "
|
||||
"check\n",
|
||||
k, i, i + 1);
|
||||
k / (NB_TESTS_OCCUR / 100), i, i + 1);
|
||||
}
|
||||
assert(mem_dequeue_sorted(val, dq));
|
||||
printf("%u - assert(mem_dequeue_sorted(%d, dq)) check\n", k, val);
|
||||
printf("%u%% - assert(mem_dequeue_sorted(%d, dq)) check\n",
|
||||
k / (NB_TESTS_OCCUR / 100), val);
|
||||
if (dq == NULL) delete_dequeue(dq);
|
||||
}
|
||||
printf("--------------------\n");
|
||||
@@ -380,4 +402,3 @@ void test(void) {
|
||||
delete_barray(ba);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user