Bom dia!
Estou desenvolvendo um código de uma pilha, e no meu teste JUnit estou tendo problemas com o meu método toString.
Ao empilhar os dados 50,40,30,20,10 o retorno do toString fica 50,40,30, e não concatena o resto dos dados… Ja fiz o teste de mesa com o método toString e tudo deu certo! não sei mais o que pode estar errado. Vou colocar aqui em baixo os métodos envolvidos e o teste.
Método toString:
public String toString() {
String saida = "";
for (int i = 0; i < tamanho; i++) {
if (info[i + 1] != null) {
saida += pop() + ",";
} else {
saida += pop();
}
}
return saida;
}
Atributos, Construtor e método Push:
public class PilhaVetor implements Pilha {
private T info[];
private int limite;
private int tamanho;
public PilhaVetor(int limite) {
info = (T[]) new Object[limite];
this.limite = limite;
this.tamanho = 0;
}
@Override
public void push(T valor) {
if (limite == tamanho) {
throw new PilhaCheiaException();
} else {
info[tamanho] = valor;
tamanho++;
}
}
Teste no JUnit:
@Test
public void testToString() {
PilhaVetor pilha = new PilhaVetor(5);
pilha.push(10);
pilha.push(20);
pilha.push(30);
pilha.push(40);
pilha.push(50);
assertEquals("50,40,30,20,10", pilha.toString());
}