Advertisement
Guest User

prueba_cola_alumno

a guest
Sep 21st, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.51 KB | None | 0 0
  1. #include "cola.h"
  2. #include "testing.h"
  3. #include <stddef.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #define TAMANIO_VECTOR 25000
  7.  
  8. void destruir_dato_wrapper(void* dato){
  9.     dato=(int*) dato;
  10.     dato=NULL;
  11. }
  12.  
  13. void pruebas_cola_nula(){
  14.     cola_t* cola;
  15.     printf("INICIO DE PRUEBAS DE COLAS DE TAMAÑO NULO\n");
  16.     print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
  17.     print_test("Ver si la cola recien creada esta vacia", cola_esta_vacia(cola)==true);
  18.     print_test("No se puede ver el primer elemento de una cola recien creada",cola_ver_primero(cola)==NULL);
  19.     print_test("Desencolar un elemento de una cola recien creada",cola_desencolar(cola)==NULL);
  20.     cola_destruir(cola,NULL);
  21.     print_test("La cola fue destruida", true);
  22. }
  23.  
  24.  
  25. void pruebas_cola_pocos_elementos(){
  26.     cola_t* cola;
  27.     int valor1=5;
  28.     void* valor2=NULL;
  29.     int valor3=96;
  30.     char cadena[5]="hola";
  31.     float valor4=5.25;
  32.     printf("INICIO DE PRUEBAS DE COLAS \n");
  33.     print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
  34.     print_test("Encolar un 5", cola_encolar(cola,&valor1)==true);
  35.     print_test("Encolar valor NULL", cola_encolar(cola,valor2)==true);
  36.     print_test("Ver el primer elemento encolado", cola_ver_primero(cola)==&valor1);
  37.     print_test("Desencolar NULL",cola_desencolar(cola)==&valor1);
  38.     print_test("Ver primero de la cola", cola_ver_primero(cola)==NULL);  
  39.     print_test("Elemento desacolado", cola_desencolar(cola)==NULL);
  40.     print_test("Desencolar con cola vacia",cola_desencolar(cola)==NULL);
  41.     print_test("Ver primero con cola vacia despuesde Desencolar",cola_ver_primero(cola)==NULL);
  42.     print_test("Ver si la cola esta vacia despues que se desapile todo",cola_esta_vacia(cola)==true);
  43.     print_test("Encolar un entero 96",cola_encolar(cola,&valor3)==true);
  44.     print_test("Encolar un string Hola", cola_encolar(cola,cadena)==true);
  45.     print_test("Al ver primero se tiene que ver el 96", cola_ver_primero(cola)==&valor3);
  46.     print_test("No puedo desencolar el ultimo elemento encolado",cola_desencolar(cola)!=cadena);
  47.     print_test("Ver primer elemento de la cola", cola_ver_primero(cola)==cadena);
  48.     print_test("Encolar un float 5.25",cola_encolar(cola,&valor4)==true);
  49.     print_test("Desencolar el primer elemento",cola_desencolar(cola)==cadena);
  50.     print_test("Desencolar elemento",cola_desencolar(cola)==&valor4);
  51.     print_test("Luego de desencolar, observar que este vacia",cola_esta_vacia(cola)==true);
  52.     cola_destruir(cola,NULL);
  53.     print_test("La cola fue destruida", true);
  54.  
  55. }
  56.  
  57. void pruebas_cola_volumen(){
  58.     printf("INICIO DE PRUEBAS CON VOLUMEN\n");
  59.     cola_t* cola;
  60.     print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
  61.     int* vector=malloc(sizeof(size_t*)*15000);
  62.     size_t i;
  63.     bool ok=true;
  64.     for(i=0;i<15000;i++){
  65.         vector[i]=i;
  66.         ok&=cola_encolar(cola,&vector[i]);
  67.     }
  68.     print_test("Se encolaron 15000 elementos seguidos",ok);
  69.     i--;
  70.     ok=true;
  71.     for(size_t j=14999;j>=0;j--){
  72.         if(&vector[i]!= cola_desencolar(cola)){
  73.             ok=false;
  74.         }
  75.         i--;
  76.     }
  77.     print_test("Se pudieron desencolar todos los elementos y en orden",ok);
  78.     print_test("La cola esta vacia",cola_esta_vacia(cola)==true);
  79.     print_test("No se puede ver el primer",cola_ver_primero(cola)==NULL);
  80.     free(vector);
  81.     cola_destruir(cola,NULL);
  82.     print_test("La cola fue destruida", true);
  83. }
  84.  
  85. void pruebas_cola_destruir_elementos(void){
  86.     printf("INICIO DE PRUEBAS CON DESTRUCCION DE ELEMENTOS\n");
  87.     cola_t* cola;
  88.     print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
  89.     int* vector=malloc(sizeof(int*)*15000);
  90.     size_t i;
  91.     bool ok=true;
  92.     for(i=0;i<15000;i++){
  93.         ok&=cola_encolar(cola,&vector[i]);
  94.     }
  95.     print_test("Se encolaron 15000 elementos seguidos",ok);
  96.     print_test("La cola no esta vacia",!cola_esta_vacia(cola));
  97.     free(vector);
  98.     cola_destruir(cola,NULL);
  99.     print_test("La cola fue destruida", true);
  100. }
  101.  
  102. void pruebas_cola_destruir_estructuras(void){
  103.     printf("INICIO DE PRUEBAS CON DESTRUCCION DE ESTRUCTURAS\n");
  104.     cola_t* cola;
  105.     print_test("Cola creada correctamente", (cola=cola_crear())!= NULL);
  106.     size_t i;
  107.     bool ok=true;
  108.     for(i=0;i<15000;i++){
  109.         void* vector=malloc(sizeof(void*)*TAMANIO_VECTOR);
  110.         ok&=cola_encolar(cola,vector);
  111.     }
  112.     print_test("Se encolaron 15000 vectores seguidos",ok);
  113.     print_test("La cola no esta vacia",!cola_esta_vacia(cola));
  114.     cola_destruir(cola,free);
  115.     print_test("La cola fue destruida", true);
  116.  
  117. }
  118.  
  119. void pruebas_cola_alumno(void){
  120.     pruebas_cola_nula();
  121.     pruebas_cola_pocos_elementos();
  122.     pruebas_cola_volumen();
  123.     pruebas_cola_destruir_elementos();
  124.     pruebas_cola_destruir_estructuras();
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement