Post date: Mar 8, 2013 12:52:20 PM
El objetivo de este laboratorio es implementar la estructura de datos OrdList para representar listas ordenadas de números. Para ello, cada estudiante deberá completar una plantilla con la implementación de algunas funciones que serán probadas con algunos casos de prueba.
El archivo 2013-1-pimo-lab7.tar.gz contiene los archivos y plantillas del laboratorio. Una vez bajado y estando en el directorio en donde se encuentra este archivo, este archivo se puede descomprimir con el siguiente comando, que generará el directorio lab7:
tar zxvf 2013-1-pimo-lab7.tar.gzEl directorio lab7 contiene los siguientes archivos:
OrdList.test.py: conjunto de pruebas para la implementación de listas ordenadaspimo/OrdList.py: plantilla para la implementación de listas ordenadaspimo/__init__.py: descriptor del paquete pimo (ver acá para más detalles)Cada estudiante debe modificar únicamente el contenido del archivo pimo/OrdList.py con la implementación de las funciones que no han sido implementadas aún (aquellas con la instrucción pass).
El conjunto de pruebas en el archivo OrdList.test.py se suministra para validar que la implementación de las listas ordenadas es potencialmente correcta. Para ejecutar las pruebas, basta con estar en el directorio lab7 y ejecutar el siguiente comando:
python3 OrdList.test.pyInicialmente, ejecutar el comando anterior genera los siguientes resultados, que indican que algunas pruebas son satisfactorias (True) mientras que otras no lo son (False):
Test init(01): TrueTest insert(01): TrueTest insert(02): FalseTest empty(01): NoneTest empty(02): TrueTest empty(03): TrueTest empty(04): NoneTest count(01): FalseTest count(02): FalseTest count(03): FalseTest count(04): FalseTest count(05): FalseTest remove(01): FalseTest remove(02): TrueTest remove(03): TrueTest remove(04): TrueTest remove(05): FalseTest pop(01): TrueTest pop(02): FalseTest pop(03): FalseTest pop(04): TrueTest index(01): FalseTest index(02): FalseTest index(03): FalseTest index(04): FalseTest extend(01): TrueTest extend(02): FalseTest purge(01): TrueTest purge(02): FalseTest purge(03): TrueTest purge(04): FalseUna vez implementadas las funciones de la lista ordenada, ejectuar el comando anterior debería arrojar los siguientes resultados, indicando que todas las pruebas son satisfactorias:
Test init(01): TrueTest insert(01): TrueTest insert(02): TrueTest empty(01): TrueTest empty(02): TrueTest empty(03): TrueTest empty(04): TrueTest count(01): TrueTest count(02): TrueTest count(03): TrueTest count(04): TrueTest count(05): TrueTest remove(01): TrueTest remove(02): TrueTest remove(03): TrueTest remove(04): TrueTest remove(05): TrueTest pop(01): TrueTest pop(02): TrueTest pop(03): TrueTest pop(04): TrueTest index(01): TrueTest index(02): TrueTest index(03): TrueTest index(04): TrueTest extend(01): TrueTest extend(02): TrueTest purge(01): TrueTest purge(02): TrueTest purge(03): TrueTest purge(04): TrueEs importante que cada estudiante se familiarice con las pruebas de las funciones, especialmente con el manejo de errores y excepciones (ver acá). Note que el manejo de errores y/o excepciones es fundamental para probar funciones, como pop y remove, que pueden arrojar errores en algunos casos.
El laboratorio es individual y cada estudiante debe entregar:
pimo/OrdList.py