3. Elaboración de test y métodos principales - scobos/PracticaFinal_ISI GitHub Wiki
Una vez que el profesor nos proporcionó los archivos de ayuda para la realización de la práctica, hemos procedido a estudiarlos y ver lo que hacían. Una vez hecho esto, hemos decidido optar por elaborar en primer lugar los test y métodos principales que realicen las funciones mencionadas en la anterior página. Así pues los métodos que vamos a elaborar son:
- DistanceBetweenElements: calcula la distancia entre dos elementos, ya sean dos películas, dos actores o una película y un actor. Además, dibuja el camino entre estos elementos.
- AinB: muestra las películas en las que aparece un determinado actor, o los actores que participan en una determinada película.
- CategoriesOf: muestra todas las categorías a las que pertenece una película.
- MoviesOfCategories: muestra todas las películas que pertenecen a una categoría.
Acordamos realizar primero los tests y la cabecera del método para después ponernos con la parte programática del método.
Las comprobaciones que realizan los test para cada método son:
- DistanceBetweenElements: si uno o ambos actores son null, que no exista camino entre ambos elementos (es decir, que el grafo esté vacío y la distancia sea 0). También comprobamos el happy path.
- AinB: si el actor introducido es null, si el grafo está vacío, y comprobar el happy path.
- CategoriesOf: si el nombre de la película es null, si se produce un error al abrir uno de los ficheros (para ello primero eliminamos un fichero del directorio, e intentamos abrirle. Después le volvemos a introducir), y comprobar el happy path.
- MoviesOfCategories: si la categoría introducida es null, si la categoría introducida no existe, y comprobar el happy path.
Modificaciones en métodos
El día 19 de enero, nos dimos cuenta de que varios métodos no eran óptimos:
- El método distanceBetweenElements no contemplaba que no hubiese ninguna conexión entre dos elementos, es decir, que la distancia fuese 0.
- El método AinB lo modificamos porque había una manera más fácil y eficiente de hacerlo, y además no contemplaba el caso en que se introdujese un elemento del que no hay ninguna información sobre él.
El día 22 de enero, nos fijamos que podíamos mejorar lo siguiente:
- El método categoriesOf no contemplaba que no hubiese categoría para una película y lo mostrase al usuario Por esto, procedemos a modificar dichos test.