Estimados,
Se debe descargar el archivo TestCodificar.zip que contiene el programa de prueba para la parte de codificacion del obligatorio 2.
El test para la decodificacion sera entregado a la brevedad
Dentro de la carpeta deben copiar sus implementaciones de : bits.c, bits.h, huffman.c, huffman.h y codificar.c
Para ejecutar el test se debe escribir el comando python3 pytest.py (recuerden no agregar nada mas que lo indicado, no borrar nada y no modificar nada dentro de la carpeta)
Este test solo prueba la parte de codificacion.
Una aclaracion respecto a las dos ultimas verificaciones que se hacen y van a ver en la consola, las cuales son analisis de diferencias de archivos.
PRIMERO: generacion de archivos con la funcion codificarHuffman(.)
En la consola se podran ver los archivos como se muestran abajo, considerando lo siguiente para entender que es lo que se esta viendo:
-lado derecho: archivo binario que se obtiene con nuestra implementacion de codificarHuffman(.)
-lado izquierdo: archivo binario que se obtiene con su implementacion de codificarHuffman(.)
(siempe usando las mismas variables de entrada, y aclaramos que ninguna implementacion nuestra esta en la carpeta de test, nuestro programa compara contra archivos soluciones pre-cargados, no busquen porque no van a encontrar codigo util :-) )
En el caso A) se muestra como ejemplo, como lado a lado los archivos son iguales , mientras que en el caso B) se ven ejemplos
lado a lado de como se pueden ver las diferencias en el caso de no implementar correctamente la funcion codificarHuffman(.)
Caso A)
00000000: e26e 27b3 23d7 c3cb 4654 e4a9 f932 00000000: e26e 27b3 23d7 c3cb 4654 e4a9 f932
00000010: a5cd f140 4592 7d5f d79d dd57 81cc 00000010: a5cd f140 4592 7d5f d79d dd57 81cc
00000020: d2d5 fd77 5c3c b465 4e4a 9eba bfa2 00000020: d2d5 fd77 5c3c b465 4e4a 9eba bfa2
00000030: 0329 c8f7 75b1 3be8 ce33 8cd2 eee4 00000030: 0329 c8f7 75b1 3be8 ce33 8cd2 eee4
00000040: edf0 ee1e 9734 3e87 fd20 1fab fbb7 00000040: edf0 ee1e 9734 3e87 fd20 1fab fbb7
00000050: 8137 226d ddb4 468f b71c 25ed 8c37 00000050: 8137 226d ddb4 468f b71c 25ed 8c37
..
.
(continua)
Caso B)
00000000: e26e 27b3 23d7 c3cb 4654 e4a9 f932 | 00000000: 3235 360a 3020 3133 2031 6336 380a
00000010: a5cd f140 4592 7d5f d79d dd57 81cc | 00000010: 3133 2031 6336 390a 3220 3133 2031
00000020: d2d5 fd77 5c3c b465 4e4a 9eba bfa2 | 00000020: 610a 3320 3133 2031 6336 620a 3520
00000030: 0329 c8f7 75b1 3be8 ce33 8cd2 eee4 | 00000030: 2031 6336 630a 3620 3133 2031 6336
00000040: edf0 ee1e 9734 3e87 fd20 1fab fbb7 | 00000040: 3720 3133 2031 6336 650a 3820 3133
00000050: 8137 226d ddb4 468f b71c 25ed 8c37 | 00000050: 6336 660a 6220 3133 2031 6337 300a
.
.
(continua)
SEGUDO : generacion de archivos con la funcion codificar(.)
Aplica lo mismo que para el caso codificarHuffman(.)
A medida que vayan probando el programa de prueba, y con su realimentacion, voy a ir agregando mejoras en la visual de errores para la parte de decodificacion. La idea es que ademas de un programa de prueba con el que vamos a evaluar sus implementaciones sea tambien una herramienta que los ayude a realizar los obligatorios,
Por esto es muy importante que nos hagan llegar su opinion respecto al uso del test, y lo usen intensivamente.
Gracias,
Atte
L