Example #1
0
void pruebas_volumen(void){
    printf("PRUEBAS DE VOLUMEN:\n");
    heap_t* heap=heap_crear(int_cmp);
    int elementos[1000][1];
    bool ok=true;
    for(int i=0;i<1000;i++){
        *elementos[i]=i;
        if(!(ok=heap_encolar(heap,elementos[i]))){
            break;
        }
    }
    print_test("Se encolaron todos los elementos..",ok);
    print_test("Longitud correcta...",heap_cantidad(heap)==1000);
    print_test("Ver max correcto...",heap_ver_max(heap)==elementos[999]);
    for(int i=999;i>=0;i--){
        int* elemento=heap_desencolar(heap);
        if(!(ok=(*elemento==i))){
            break;
        }
    }
    print_test("Los elementos se desencolaron en orden...",ok)
    print_test("Longitud correcta...",heap_cantidad(heap)==0);
    print_test("Ver max correcto...",heap_ver_max(heap)==NULL);
    heap_destruir(heap,NULL);
}
Example #2
0
void pruebas_heap_vacio(void){
    heap_t* heap=heap_crear(int_cmp);
    print_test("Heap vacĂ­o...",heap_cantidad(heap)==0);
    print_test("Ver max es NULL...",heap_ver_max(heap)==NULL);
    print_test("Desencolar es NULL...",heap_desencolar(heap)==NULL);
    heap_destruir(heap,NULL);
}
Example #3
0
void pruebas_enteros(void){
    heap_t* heap=heap_crear(int_cmp);
    printf("ELEMENTOS ORDENADOS:\n");
    int elementos[10]={0,1,2,3,4,5,6,7,8,9};
    bool ok=true;
    for(int i=0;i <10;i++){
        if(!(ok=heap_encolar(heap,&elementos[i]))){
            break;
        }
    }
    print_test("Se encolaron todos los elementos..",ok);
    print_test("Longitud correcta...",heap_cantidad(heap)==10);
    print_test("Ver max correcto...",heap_ver_max(heap)==&elementos[9]);
    for(int i=9;i>=0;i--){
        int* elemento=heap_desencolar(heap);
        if(!(ok=(*elemento==i))){
            break;
        }
    }
    print_test("Los elementos se desencolaron en orden...",ok)
    print_test("Longitud correcta...",heap_cantidad(heap)==0);
    print_test("Ver max correcto...",heap_ver_max(heap)==NULL);

    printf("ELEMENTOS DESORDENADOS:\n");
    int e_desordenados[10]={9,4,6,2,7,5,8,3,1,0};
    for(int i=0;i<10;i++){
        if(!(ok=heap_encolar(heap,&e_desordenados[i]))){
            break;
        }
    }
    print_test("Se encolaron todos los elementos..",ok);
    print_test("Longitud correcta...",heap_cantidad(heap)==10);
    print_test("Ver max correcto...",heap_ver_max(heap)==&elementos[9]);
    for(int i=9;i>=0;i--){
        int* elemento=heap_desencolar(heap);
        if(!(ok=(*elemento==i))){
            break;
        }
    }
    print_test("Los elementos se desencolaron en orden...",ok)
    print_test("Longitud correcta...",heap_cantidad(heap)==0);
    print_test("Ver max correcto...",heap_ver_max(heap)==NULL);
    heap_destruir(heap,NULL);
}
Example #4
0
void pruebas_heap_alumno(){

	heap_t* heap = heap_crear(func_comp);	
	print_test("El heap esta vacio", heap_esta_vacio(heap));
	print_test("Ver max del heap es NULL", heap_ver_max(heap) == NULL);
	int a = 5, b = 6, c = 8, d = 7, e = 10;
	print_test("Encolo el primer elemento (a)",heap_encolar(heap, &a));
	print_test("El maximo del heap es a ",heap_ver_max(heap) == &a);
	print_test("Encolo el segundo elemento (b)", heap_encolar(heap,&b));
	print_test("El maximo del heap es el segundo elemento (b): ", heap_ver_max(heap) == &b);
	
	print_test("La cantidad del heap es 2", heap_cantidad(heap) == 2);
	print_test("Encolo el tercer elemento (c): ", heap_encolar(heap,&c));
	
	print_test("El maximo del heap es el tercer elemento (c)", heap_ver_max(heap) == &c);
	print_test("Encolo el cuarto elemento (d) ", heap_encolar(heap,&d));
	
	print_test("El maximo del heap sigue siendo el tercer elemento (c)", heap_ver_max(heap) == &c);
	print_test("La cantidad del heap es 4", heap_cantidad(heap) == 4);
	print_test("Encolo el quinto elemento (e) ", heap_encolar(heap, &e));
	print_test("El maximo del heap es el quinto elemento", heap_ver_max(heap) == &e);
	print_test("Desencolo", heap_desencolar(heap) == &e);
	print_test("Desencolo", heap_desencolar(heap) == &c);
	print_test("Desencolo", heap_desencolar(heap) == &d);
	print_test("Desencolo", heap_desencolar(heap) == &b);
	print_test("Desencolo", heap_desencolar(heap) == &a);
	print_test("El heap esta vacio", heap_esta_vacio(heap));

	//pruebas_heapify();
	//pruebas_heapsort();
	//pruebas_heap_crear_arr();
	heap_destruir(heap,NULL);
}