Hola buenas, vengo a pediros ayuda con una duda que me surgió con el Junit, si bien he logrado realizar los test positivos de forma correcta, no se como hacer que los test negativos funcionen correctamente.
Ya se de antemano que los primeros parametros de los asserEquals en los tests negativos son incorrectos, y ahi es donde reside mi duda, que poner.
El funcionamiento del metodo setAge, esta limitado a un rango [0,118], definido por las variables MIN_AGE_VALUE y, MAX_AGE_VALUE
Muchas gracias de antemano, estoy empezando con JUnit y es un poco confuso para mi.
Test Class:
Código:
@Test
public void testAge()
{
Person dummy = new Person();
//Positive testing
dummy.setAge(Person.MIN_AGE_VALUE);
assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
dummy.setAge(Person.MAX_AGE_VALUE);
assertEquals(Person.MAX_AGE_VALUE, dummy.getAge());
dummy.setAge(Person.MAX_AGE_VALUE/2);
assertEquals(Person.MAX_AGE_VALUE/2, dummy.getAge());
//Negative testing
dummy.setAge(Person.MIN_AGE_VALUE);
assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
dummy.setAge(Person.MIN_AGE_VALUE-1000);
assertEquals(Person.MIN_AGE_VALUE, dummy.getAge());
dummy.setAge(Person.MAX_AGE_VALUE+1);
assertEquals(Person.MAX_AGE_VALUE+1, dummy.getAge());
dummy.setAge(Person.MAX_AGE_VALUE*2);
assertEquals(Person.MAX_AGE_VALUE*2, dummy.getAge());
}
Person Class
Código:
public int age;
public final static int MAX_AGE_VALUE = 118;
public final static int MIN_AGE_VALUE = 0;
public void setAge (int age)
{
if ((age >= MIN_AGE_VALUE) && (age <= MAX_AGE_VALUE))
this.age = age;
}
public int getAge ()
{
return age;
}
Existe mas código, pero no es relevante.