La actividad dice así:
El objetivo de esta actividad es diseñar las pruebas a realizar sobre una clase con JUnit.
a. Desarrolla en Java una clase que crea un palíndromo a partir de una cadena dada. Por
ejemplo, si la entrada fuera “Vacaciones”, debería retornarse “VacacionessenoicacaV”
b. Escribe el código de la clase Test para el código anterior, de manera que se incluyan los
siguientes casos de prueba:
- TestVacío, para una string de entrada vacía.
- TestBlancoInicio, para una string que comienza con un espacio en blanco.
- TestBlancoFin, para una string que finaliza con un espacio en blanco.
- TestUno, para una string de un solo carácter.
- TestTamaños, para una string de diferentes tamaños: de 4 caracteres, de 10
caracteres y de 50 caracteres. - TestMayus, para una string con todos sus caracteres en mayúsculas
- TestPali, que se integra como AFTER para comprobar que una vez generado el
resultado se compruebe que efectivamente es palíndromo.
Ya lo tengo todo hecho, a excepción de lo del AFTER, que no tengo ni idea de lo que hay que hacer.
El código del la clase que crea el palíndromo es:
package Actividad3;
import java.util.Scanner;
public class Palindromo {
public static String verPalindromo (String frase) {
String reves = "";
String resuelta = "";
Scanner teclado = new Scanner(System.in);
int tamaño = frase.length();
for ( int i = tamaño - 1; i >= 0; i-- )
reves = reves + frase.charAt(i);
resuelta = frase + reves;
teclado.close();
return resuelta;
}
}
y el del Junit es:
package Actividad3;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.junit.After;
public class PalindromoTest {
@Before
public void antestest(){
}
@Test
public void testVacío(){
String frase = "";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals(""));
}
@Test
public void testBlancoInicio(){
String frase = " Vacaciones";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals(" VacacionessenoicacaV "));
}
@Test
public void testBlancoFin(){
String frase = "Vacaciones ";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("Vacaciones senoicacaV"));
}
@Test
public void testUno(){
String frase = "V";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("VV"));
}
@Test
public void testTamañoscuatro(){
String frase = "abcd";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("abcddcba"));
}
@Test
public void testTamañosdiez(){
String frase = "abcdefghij";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("abcdefghijjihgfedcba"));
}
@Test
public void testTamañoscincuenta(){
String frase = "abcdefghijklmnñopqrstuvwxyz1234567890a1b2c3d4e5f6g";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("abcdefghijklmnñopqrstuvwxyz1234567890a1b2c3d4e5f6gg6f5e4d3c2b1a0987654321zyxwvutsrqpoñnmlkjihgfedcba"));
}
@Test
public void testMayus(){
String frase = "VACACIONES";
String palindromo=Palindromo.verPalindromo(frase);
assertTrue(palindromo.equals("VACACIONESSENOICACAV"));
}
@After
public void testPali() {
}
}
Se supone que si en los Tests estoy pasando las pruebas, es porque efectivamente es un palíndromo, así que no me entero muy bien de lo que he de poner en el After y como tendría que hacerlo.