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:
Person Class @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());
}
Código:
Existe mas código, pero no es relevante.
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;
}



