Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "cola.h"
- #include "testing.h"
- #include <stddef.h>
- #include <stdlib.h>
- #include <stdio.h>
- #define TAMANIO_VECTOR 25000
- void destruir_dato_wrapper(void* dato){
- dato=(int*) dato;
- dato=NULL;
- }
- void pruebas_cola_nula(){
- cola_t* cola;
- printf("INICIO DE PRUEBAS DE COLAS DE TAMAÑO NULO\n");
- print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
- print_test("Ver si la cola recien creada esta vacia", cola_esta_vacia(cola)==true);
- print_test("No se puede ver el primer elemento de una cola recien creada",cola_ver_primero(cola)==NULL);
- print_test("Desencolar un elemento de una cola recien creada",cola_desencolar(cola)==NULL);
- cola_destruir(cola,NULL);
- print_test("La cola fue destruida", true);
- }
- void pruebas_cola_pocos_elementos(){
- cola_t* cola;
- int valor1=5;
- void* valor2=NULL;
- int valor3=96;
- char cadena[5]="hola";
- float valor4=5.25;
- printf("INICIO DE PRUEBAS DE COLAS \n");
- print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
- print_test("Encolar un 5", cola_encolar(cola,&valor1)==true);
- print_test("Encolar valor NULL", cola_encolar(cola,valor2)==true);
- print_test("Ver el primer elemento encolado", cola_ver_primero(cola)==&valor1);
- print_test("Desencolar NULL",cola_desencolar(cola)==&valor1);
- print_test("Ver primero de la cola", cola_ver_primero(cola)==NULL);
- print_test("Elemento desacolado", cola_desencolar(cola)==NULL);
- print_test("Desencolar con cola vacia",cola_desencolar(cola)==NULL);
- print_test("Ver primero con cola vacia despuesde Desencolar",cola_ver_primero(cola)==NULL);
- print_test("Ver si la cola esta vacia despues que se desapile todo",cola_esta_vacia(cola)==true);
- print_test("Encolar un entero 96",cola_encolar(cola,&valor3)==true);
- print_test("Encolar un string Hola", cola_encolar(cola,cadena)==true);
- print_test("Al ver primero se tiene que ver el 96", cola_ver_primero(cola)==&valor3);
- print_test("No puedo desencolar el ultimo elemento encolado",cola_desencolar(cola)!=cadena);
- print_test("Ver primer elemento de la cola", cola_ver_primero(cola)==cadena);
- print_test("Encolar un float 5.25",cola_encolar(cola,&valor4)==true);
- print_test("Desencolar el primer elemento",cola_desencolar(cola)==cadena);
- print_test("Desencolar elemento",cola_desencolar(cola)==&valor4);
- print_test("Luego de desencolar, observar que este vacia",cola_esta_vacia(cola)==true);
- cola_destruir(cola,NULL);
- print_test("La cola fue destruida", true);
- }
- void pruebas_cola_volumen(){
- printf("INICIO DE PRUEBAS CON VOLUMEN\n");
- cola_t* cola;
- print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
- int* vector=malloc(sizeof(size_t*)*15000);
- size_t i;
- bool ok=true;
- for(i=0;i<15000;i++){
- vector[i]=i;
- ok&=cola_encolar(cola,&vector[i]);
- }
- print_test("Se encolaron 15000 elementos seguidos",ok);
- i--;
- ok=true;
- for(size_t j=14999;j>=0;j--){
- if(&vector[i]!= cola_desencolar(cola)){
- ok=false;
- }
- i--;
- }
- print_test("Se pudieron desencolar todos los elementos y en orden",ok);
- print_test("La cola esta vacia",cola_esta_vacia(cola)==true);
- print_test("No se puede ver el primer",cola_ver_primero(cola)==NULL);
- free(vector);
- cola_destruir(cola,NULL);
- print_test("La cola fue destruida", true);
- }
- void pruebas_cola_destruir_elementos(void){
- printf("INICIO DE PRUEBAS CON DESTRUCCION DE ELEMENTOS\n");
- cola_t* cola;
- print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
- int* vector=malloc(sizeof(int*)*15000);
- size_t i;
- bool ok=true;
- for(i=0;i<15000;i++){
- ok&=cola_encolar(cola,&vector[i]);
- }
- print_test("Se encolaron 15000 elementos seguidos",ok);
- print_test("La cola no esta vacia",!cola_esta_vacia(cola));
- free(vector);
- cola_destruir(cola,NULL);
- print_test("La cola fue destruida", true);
- }
- void pruebas_cola_destruir_estructuras(void){
- printf("INICIO DE PRUEBAS CON DESTRUCCION DE ESTRUCTURAS\n");
- cola_t* cola;
- print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
- size_t i;
- bool ok=true;
- for(i=0;i<15000;i++){
- void* vector=malloc(sizeof(void*)*TAMANIO_VECTOR);
- ok&=cola_encolar(cola,vector);
- }
- print_test("Se encolaron 15000 vectores seguidos",ok);
- print_test("La cola no esta vacia",!cola_esta_vacia(cola));
- cola_destruir(cola,free);
- print_test("La cola fue destruida", true);
- }
- void pruebas_cola_alumno(void){
- pruebas_cola_nula();
- pruebas_cola_pocos_elementos();
- pruebas_cola_volumen();
- pruebas_cola_destruir_elementos();
- pruebas_cola_destruir_estructuras();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement