Hola
tengo que hacer una implementacion de pruebas en eclipse con Junit.
El problema es que el codigo me da varios errores y no soy capaz de dar con la solucion.
El enunciado pide lo siguiente
Dado el código Java de la actividad 2, implementar las pruebas unitarias que permiten comprobar el correcto funcionamiento de la clase Stack. Para esto, usaremos Eclipse y la librería jUnit.
Los pasos a seguir son los siguientes:
4. Crear una clase de prueba (New JUnit Test Case) llamada TestStack (un caso de prueba JUnit) sobre la clase Stack usando el código adjunto abajo.
5. Implementar los diferentes métodos de la clase TestStack.
6. Ejecutar el test y comprobar que no hayan errores. Adjuntar una captura de pantalla de la ejecución de los tests implementados en jUnit.
7. Adjuntar el código de la clase TestStack con los tests implementados.
El codigo de la actividad 2 es este: esta compilado y sin errores
import java.util.Vector;
/**
* El funcionamiento de la clase Stack apila objetos de tipo Integer en un
* vector.
*
* @version 1.3 08/04/2017
* @author javi
*/
public class Stack {
/**
* Declaracion de los atributos privados.
*/
private int tamaño;
private Vector<Integer> elementos;
/**
* Constructor crea un vector y le asigna un valor por defecto al atributo
* tamaño
*/
public Stack() {
elementos = new Vector<Integer>();
tamaño = 0;
}
/**
* El metodo stackVacio comprueba si la pila contiene algun elemento usando
* para ello el valor del atributo tamaño, si dicho valor es igual a 0
* devolvera true y en caso distinto devolvera false
*
*/
public boolean stackVacio() {
if (tamaño == 0) {
return true;
}
return false;
}
/**
* El metodo apilar añade objetos de tipo Integer en el vector elementos de
* la clase.Solo recibe un parametro, en este caso o, puesto que tamaño es
* un atributo de la clase
*
* @param o
* @param tamaño
*/
public void apilar(Integer o) {
elementos.add(tamaño, o);
tamaño++;
}
/**
* Metodo desapilar lo que hace es reducir el valor del atributo tamaño
* restandole uno para que cuando se quiera volver a introducir un nuevo
* objeto en el vector elementos se sobreescriban los existenter, pero no
* borra los anteriores introducido @return @exception
*/
public Integer desapilar() {
try {
if (stackVacio())
throw new ErrorStackVacio();
else {
return elementos.get(--tamaño);
}
} catch (ErrorStackVacio error) {
System.out.println("ERROR: el stack está vacio");
return null;
}
}
/**
*
* metodo que devuelve numero elementos
*
* @return devuelve el ultimo objeto que contiene el vector elementos
*/
public int getNumElements() {
return tamaño;
}
@SuppressWarnings("serial")
class ErrorStackVacio extends Exception {
public ErrorStackVacio() {
super();
}
}
}
Y el codigo sobre el que hay que hacer los test es este
public class TestStack {
@SuppressWarnings("unused")
private Stack stackConElementos;
@SuppressWarnings("unused")
private Stack stackSinElementos;
@Before
public void setUp() throws Exception {
//configurar el test
}
@Test
public void testStackVacio() {
fail("Not yet implemented");
}
@Test
public void testApilar() {
fail("Not yet implemented");
}
@Test
public void testDesapilarStackSinElementos() {
fail("Not yet implemented");
}
@Test
public void testDesapilarStackConElementos() {
fail("Not yet implemented");
}
@Test
public void testGetNumElements() {
fail("Not yet implemented");
}
}