apinar / ECP2AlvaroPinar

Proyecto ECP2
http://www.etsisi.upm.es/estudios/master/miw
0 stars 0 forks source link

IssuesUpg_05 #5

Closed apinar closed 9 years ago

apinar commented 9 years ago

Implementar el test del método isPropia de la clase Fraction. Más información en: https://github.com/apinar/ECP2AlvaroPinar/wiki/IssuesUpg_05 Tiempo estimado de realización - 15 minutos.

jherranz commented 9 years ago

Tiempo de realización - 1 minuto.

Revisar el test de la clase Fraction, ya que puede no estar implementada correctamente. No siempre se inicializa la variable fr, por lo que en caso de que se ejecuten los métodos de las pruebas en orden aleatorio, el contenido de la misma puede variar, haciendo que las pruebas fallen.

Solución propuesta: Inicializar la variable al comienzo de cada método para asegurarnos del contenido de la misma.

Saludos

apinar commented 9 years ago

Se está inicializando. Con la etiqueta @Before de junit se fuerza que antes de ejecutar los tests se cree la clase fr redibiendo como parámetro (17,5).

@Before public void before() { fr = new Fraction(17, 5); }

jherranz commented 9 years ago

Con before, se inicializa la variable si, pero como comentaron en clase, no se puede esperar que las pruebas se ejecuten siempre en el mismo orden (o al menos, no se debería). Observa este caso de ejecución:

  1. @Before
  2. public void testFraction
  3. public void testFractionIntInt (en este caso fallaría)

Saludos!

apinar commented 9 years ago

Tienes razón. Se puede solucionar también usando una variable diferente en el test testFraction(). Abro un ticket nuevo para que se corrija. Te lo asigno que se tarda poco en corregir.

Bien visto!

jherranz commented 9 years ago

Sin problema, en cuanto reciba el ticket oportuno, corrijo los errores en todos los métodos que puedan estar comprometidos .

A mandar mi capitán.

Saludos

apinar commented 9 years ago

Por favor, crea la interfaz del método isPropia en la clase Fraction para que no de error el test.

Gracias!

jherranz commented 9 years ago

Ya está creado y subido.

Saludos!

apinar commented 9 years ago

isPropia debe devolver un objeto de tipo Fraction

jherranz commented 9 years ago

Corregido!

He hecho lo que pediste, pero no estoy seguro si es lo que debía haber hecho. Revísalo antes de darle el ok final.

Saludos!

apinar commented 9 years ago

Ok! Repasando los apuntes he visto que el @Before se ejecuta antes de cada uno de los @Test, así que igual no había hecho falta modificar el test de Fraction. En cualquier caso así también vale. Muchas gracias.

jherranz commented 9 years ago

Ok, no lo sabía! Tenía entendido que solo se ejecutaba una única vez al principio como te dije esta mañana. Vuelvo a realizar los cambios oportunos para volver a dejarlo con el before? Saludos

apinar commented 9 years ago

Nada, no te preocupes. El test es igual de válido así. Un saludo,

apinar commented 9 years ago

Las fracciones propias son aquellas cuyo numerador es menor que el denominador.

Con la fracción que creamos en el test 17/5, la función isPropia debe devolver false. Por favor corrige el test para que compruebe que es false en vez de true.

Ahora está así: @Test public void testIsPropia() { fr = new Fraction(17, 5); assertEquals(true, fr.isPropia());

Gracias!

apinar commented 9 years ago

Resuelta.

jherranz commented 9 years ago

Efectivamente!

Saludos