5. Tests de Flujo - scobos/PracticaFinal_ISI GitHub Wiki
Hemos comprobado la herramienta de Eclipse de cobertura que realmente nuestros test pasan por el código que a continuación se describe.
FLUJO distanceBetweenElements: El método distanceBetweenElements tiene 4 posibles caminos:
- Que entre en el primer if y salte la excepción, lo cual comprobamos mediante los TestDistanceActors 1 2 y 3.
- Que entre en el segundo if y por tanto en el for(ya que siempre va a entrar al menos una vez) que se comprueba mediante el TestDistanceActors 4
- Que no entre en el segundo if y vaya al else(distancia=0) que se comprueba mediante el TestDistanceActors5.
- Si uno de los elementos no se encuentra, salta la excepción IllegalArgumentException y se comprueba en TestDistanceActors6. Para tener en cuenta que no esté en la lista de películas, hemos modificado el método validateVertex de Graph poniéndolo como público para poderlo usar directamente en el Main.
FLUJO AInB: El método AInB tiene 3 posibles caminos:
- Que entre en el primer if y salte la excepción, lo cual comprobamos mediante el TestAInB1.
- Que no entre en el bucle, salte la excepción y se vaya al catch lo cual comprobamos mediante el TestAInB2.
- Que entre en el bucle for y en el segundo if(siempre va a pasar, ya que un actor siempre va a tener al menos una película y una película siempre va a tener al menos un actor) que lo contemplamos en el TestAInB3.
FLUJO CategoriesOf: El método categoriesOf tiene 4 posibles caminos:
- Que entre en el primer if y salte la excepción NullPointerException, lo cual comprobamos mediante el testCategoriesOf1.
- Que no entre en el bucle, salte la excepción IllegalArgumentException y vaya al catch lo cual comprobamos a través del testCategoriesOf2.
- Que entre el bucle for, segundo if y switch(happy path) que comprobamos en el testCategoriesOf3.
- Que la película no tenga categoría implica que entra en el tercer if de nuestro código, y para comprobarlo hemos realizado el testCategoriesOf4.
FLUJO MoviesOfCategory: El método MoviesOfCategory tiene 4 posibles caminos:
- Que entre en el primer if y salte la excepción NullPointerException, lo cual comprobamos mediante el testMoviesOfCategories1.
- Que salte la excepción IllegalArgumentException, por tanto entra en el catch. Este camino se contempla en el testMoviesOfCategory2.
- Que entre en el bucle while(por tanto se recorre todas las películas de una categoría-> happypath), que se contempla en el testMoviesOfCategory3.
- Que se seleccione la opción en el desplegable "Elige una categoría", lo cual hace que entre en el segundo if del código del método. Este flujo de código se contempla en el testMoviesofCategory4.