Olá Wagner!
Pelo que eu entendi você está checando se o nome da pessoa é nulo ou vazio.
- É isso mesmo Wagner, quero confirmar se realmente o nome da pessoa foi excluído
Ao remover uma pessoa de uma lista, não entendo pq vc iria remover o nome dela.
- É um trabalho da Faculdade, o Professor pediu para excluir e verificar se realmente esta pessoa foi excluída da Lista. Mas no teste do JUnit informa erro que não passou no teste e é isto que quero decobrir, onde estou errando? o teste tem do JUnit tem de passar sem erros.
Outra coisa, o método procurarPessoa não retorna nada? Ele deveria retornar a pessoa que tu procura, estou errado? Se ele retornar nulo, aí sim você saberia que a pessoa foi removida.
- Pois foi isto que fiz no metodo, se retornar nulo é porque realmente a pessoa foi excluída, mas volto a repetir, no Teste do JUnit informa erro.
vou descrever abaixo todas as classes que estou utilizando neste trabalho, para você entender melho. Lembrando que a classe de teste deve ser aprovada pelo JUnit.
Classe TesteCaseFachada.java
package com.apolo.testes;
import java.util.List;
import java.util.Iterator;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import com.apolo.fachada.Fachada;
import com.apolo.entidades.Pessoa;
/**
*
* @author armando
*/
public class TestCaseFachada {
private Fachada f;
Pessoa p1, p2, p3;
public TestCaseFachada() {
}
/**
* Faz a inicializacao do Teste, antes de rodar cada TestCase
*/
@Before
public void setUp() {
f = new Fachada();
//cria 3 pessoas
p1 = new Pessoa("Chavier", "c@gmail.com", "Rua A","H");
p2 = new Pessoa("Joao da Silva Chavier", "jsc@gmail.com", "Rua A","H");
p3 = new Pessoa("Maria Joaquina Cavalcante", "mjc@gmail.com", "Rua A","M");
//insere as pessoas no repositorio de lista de pessoas
f.inserirPessoa(p1);
f.inserirPessoa(p2);
f.inserirPessoa(p3);
}
/**
* Faz o teste de inserir uma Pessoa
* Passos:
* 1 - Dada uma Pessoa
* 2 - Checar se a Pessoa foi inserida no Repositorio com os dados passados
*/
/*@Test
public void TestCaseInserePessoa(){
try{
f.inserirPessoa(p1);
f.procurarPessoa(0);
if(p1.getNome() == "Chavier"){
assertTrue(true);
}else{
fail("Teste não implementado");
}
}catch(Exception e){
System.out.println("Erro: "+e.getMessage());
fail(e.getMessage());
}
//fail("Teste não implementado");
}*/
/**
* Faz um teste para checar se o metodo ProcurarPessoa da Fachada esta funcionando corretamente
* Passos:
* 1 - Dado um nome da Pessoa
* 2 - Dada a Posicao da Pessoa
* 3 - Checa se e o mesmo nome da Pessoa da Posicao testada
*/
/*@Test
public void TestCasePesquisaPessoa(){
//pesquisa a 3o. pessoa do repositorio
try{
f.inserirPessoa(p1);
f.inserirPessoa(p2);
f.inserirPessoa(p3);
f.procurarPessoa(2);
if(p3.getNome() == "Maria Joaquina Cavalcante"){
assertTrue(true);
}else{
fail("Teste não implementado");
}
}catch(Exception e){
System.out.println("Erro: "+e.getMessage());
fail(e.getMessage());
}
}
//fail("Teste não implementado");
}*/
/**
* Faz o teste para checar se o metodo removerPessoa da classe Fachada esta funcionando corretamente
* Passos:
* 1 - Dado um indice da Pessoa
* 2 - Checa se a pessoa do indice correspondente foi removida do repositorio
*/
@Test
public void TestCaseRemoverPessoa(){
//Remover a pessoa de indice 1, no caso o Joao da Silva Chavier
try{
f.inserirPessoa(p1);
f.inserirPessoa(p2);
f.inserirPessoa(p3);
f.removerPessoa(1);
f.procurarPessoa(1);
if(p2.getNome().equals(null) || p2.getNome().equals("")){
assertTrue(true);
System.out.println("A pessoa não está cadastrada no sistema!");
}else{
fail("Teste não implementado");
}
}catch(Exception e){
System.out.println("Erro: "+e.getMessage());
fail(e.getMessage());
}
}
//fail("Teste não implementado");
}
/**
* Faz o Teste se a quantidade de pessoas do repositorio de Pessoas esta correto
* Passos:
* 1 - Sao inseridas 3 pessoas em um repositorio Vazio
* 2 - Deve retornar a quantidade 3
*/
/*@Test
public void TestCaseChecaQuantidadePessoasLista(){
//de acordo com o setup do teste, foram inseridas 3 pessoas, entao a qtd de pessoas na lista deve ser 3
fail("Teste não implementado");
}
/**
* Faz o teste de procurar Pessoa em um repositorio
* Passos:
* 1 - Dado um indice da Pessoa no repositorio
* 2 - Checar se a Pessoa correpondente e retornada
*/
/*@Test
public void TestBuscaPessoa(){
fail("Teste não implementado");
}
/**
* Faz o teste de edicao dos dados de uma Pessoa
* Passos:
* 1 - Dada uma Pessoa com os dados originais
* 2 - Alterar os dados para outras informacoes
* 3 - Checar se os dados alterados foram persistidos
*/
/*@Test
public void TestEditaPessoa(){
fail("Teste não implementado");
}
/**
* Checa se as Pessoas inseridas no Setup do TestCase estao realmente inseridas na Lista de Pessoas
*/
/*@Test
public void TestCaseListaPessoas(){
fail("Teste não implementado");
} */
Classe Fachada.java
package com.apolo.fachada;
/**
*
* @author armando
*/
import java.util.List;
import com.apolo.entidades.Pessoa;
import com.apolo.controle.ManipulaPessoa;
import com.apolo.repositorio.RepositorioPessoaLista;
import com.apolo.repositorio.RepositorioPessoaBDR;
import com.apolo.sistema.excecoes.RepositorioException;
public class Fachada {
RepositorioPessoaLista rpl = new RepositorioPessoaLista();
ManipulaPessoa mp = new ManipulaPessoa(rpl);
/**
* inserir pessoa na lista
* @param p insere os dados da Pessoa
*/
public void inserirPessoa(Pessoa p){
this.mp.inserir(p);
}
/**
* procurar pessoa na lista
* @param codigo valor inteiro referente ao codigo da pessoa
* @return Pessoa retorna a Pessoa encontrada
*/
public Pessoa procurarPessoa(int codigo){
return(this.mp.procurar(codigo));
}
/**
* remover pessoa na lista
* @param codigo valor inteiro do codigo da pessoa
*/
public void removerPessoa(int codigo){
this.mp.remover(codigo);
}
/**
* quantidade de pessoas na lista
* @return valor inteiro quantidade de pessoas do repositorio
*/
public int quantidadePessoas(){
return(this.mp.quantidade());
}
/**
* Pega pessoa na lista
* @param indice dado um indice na posicao do repositorio
* @return Pessoa retorna o tipo Pessoa
*/
public Pessoa pegaPosicaoPessoa(int indice){
return(this.mp.pegaPessoa(indice));
}
/**
* Atualiza pessoa na lista
* @param p dado um tipo Pessoa atualiza
*/
public void atualizaPessoa(Pessoa p){
this.mp.atualizaPessoa(p);
}
/**
*
* @return Lista de todas as Pessoas cadastradas no Repositorio de Pessoas
*/
public List<Pessoa> listaPessoas(){
return this.mp.getListaPessoas();
}
/**
* Insere o aluno no banco
*/
public void inserirAluno(){
}
}
Classe ManipulaPessoa.java
package com.apolo.controle;
/**
*
* @author armando
*/
import java.util.List;
import com.apolo.entidades.Pessoa;
import com.apolo.repositorio.RepositorioPessoaLista;
import com.apolo.repositorio.RepositorioPessoaBDR;
import com.apolo.sistema.excecoes.RepositorioException;
/**
* @author armando
*
*/
public class ManipulaPessoa {
protected RepositorioPessoaLista meuRepositorioPessoa;
protected RepositorioPessoaBDR meuRepositorioBDR;
/**No construtor ao instanciar a classe, a mesma ja inicia com um RepositorioPessoaLista
* @param rpl RepositorioPessoaLista
* @see RepositorioPessoaLista
*/
public ManipulaPessoa(RepositorioPessoaLista rpl){
this.meuRepositorioPessoa = rpl;
}
public ManipulaPessoa(RepositorioPessoaBDR rpBDR){
this.meuRepositorioBDR = rpBDR;
}
/**
* Inserir pessoa na lista
* @param p Pessoa
*/
public void inserir(Pessoa p){
this.meuRepositorioPessoa.insere(p);
}
/**
* Procurar pessoa na lista
* @param codigo Codigo da pessoa
* @return Pessoa Pessoa encontrada
*/
public Pessoa procurar(int codigo){
return(this.meuRepositorioPessoa.procura(codigo));
}
/**
* Remover pessoa
* @param codigo Codigo da pessoa
*/
public void remover(int codigo){
this.meuRepositorioPessoa.deleta(codigo);
}
/**
*
* @return A quantidade de pessoas do repositorio
*/
public int quantidade(){
return(this.meuRepositorioPessoa.size());
}
/**
* Dado o indice da Pessoa no Repositorio de Pessoas, retorna a Pessoa correspondente
* @param indice Posicao da Pessoa no Repositorio
* @return Pessoa
*/
public Pessoa pegaPessoa(int indice){
return(this.meuRepositorioPessoa.pegaElementoDaLista(indice));
}
/**
* Atualiza pessoa com os novos atributos
* @param p Pessoa
*/
public void atualizaPessoa(Pessoa p){
this.meuRepositorioPessoa.atualiza(p);
}
/**
* @return Lista de Pessoas
*
*/
public List<Pessoa> getListaPessoas(){
return this.meuRepositorioPessoa.getListaPessoas();
}
/**
* Inserir pessoa no banco de dados
* @param p Pessoa
*/
public void inserir(Pessoa p, RepositorioPessoaBDR rpBDR) throws RepositorioException{
this.meuRepositorioBDR.insere(p);
}
/**
* Procurar pessoa no banco
* @param codigo Codigo da pessoa
* @return p Pessoa encontrada
*/
public Pessoa procurar(int codigo, RepositorioPessoaBDR rpBDR) throws RepositorioException{
return(this.meuRepositorioBDR.procura(codigo));
}
}
Classe RepositorioPessoaLista.java
package com.apolo.repositorio;
/**
*
* @author armando
*/
import java.util.LinkedList;
import java.util.List;
import com.apolo.entidades.Pessoa;
/**
* @author armando
*
*/
public class RepositorioPessoaLista {
private List<Pessoa> listaPessoas;
private int geraCodigo = 0; // para gerar codigos das pessoas cadastradas
/**
* Ao instanciar um RepositorioPessoaLista o mesmo ja cria uma Lista ligada do Tipo Pessoa
* @see Pessoa
*/
public RepositorioPessoaLista() {
this.listaPessoas = new LinkedList<Pessoa>();
}
/**
* Faz a busca de uma dada Pessoa e retorna o indice da Lista de Pessoas
* @param codigo Codigo da Pessoa pesquisada
* @return indice da Pessoa pesquisada na Lista
*/
private int procurarIndice(int codigo) {
int indice = 0;
while (indice < listaPessoas.size()) {
Pessoa p = listaPessoas.get(indice);
if (p.getCodigo() == codigo)
return indice;
indice++;
}
return -1;
}
/**
* Insere uma Pessoa na Lista de Pessoas
* @param p Pessoa
* @return Codigo da Pessoa
*/
public int insere(Pessoa p){
p.setCodigo(geraCodigo++);
listaPessoas.add(p);
return p.getCodigo();
}
/**
* Dado o Codigo da Pessoa, faz a busca dessa Pessoa na Lista de Pessoas
* @param codigo Codigo da Pessoa
* @return Pessoa Pessoa encontrada na Lista de Pessoas
*/
public Pessoa procura(int codigo){
int indice = this.procurarIndice(codigo);
if (indice >= 0){
return this.listaPessoas.get(indice);
}else {
return null;
}
}
/**
* Checa se a Pessoa esta na Lista de Pessoa
* @param codigo Codigo da Pessoa
* @return True se a Pessoa foi encontrada e False se a Pessoa nao foi encontrada
*/
public boolean existe(int codigo) {
int indice = this.procurarIndice(codigo);
if (indice >= 0)
return true;
else
return false;
}
/**
* Dada uma Pessoa com os novos atributos faz a atualizacao da Pessoa
* @param p Pessoa
*/
public void atualiza(Pessoa p){
int indice = this.procurarIndice(p.getCodigo());
if (indice >= 0){
this.listaPessoas.set(indice, p);
}
}
/**
* Dado o Codigo da Pessoa, remove esta Pessoa da Lista de Pessoas
* @param codigo Codigo da Pessoa
*/
public void deleta(int codigo){
//this.listaPessoas.clear();
this.deleta(codigo);
//to do
}
/**
* @return A quantidade de Pessoas na Lista de Pessoas
*/
public int size() {
return this.listaPessoas.size();
}
/**
* Dada uma posicao na Lista de Pessoas, retorna a Pessoa da posicao corrente
* @param posicao Posicao na Lista de Pessoas
* @return Pessoa
*/
public Pessoa pegaElementoDaLista(int posicao) {
if (posicao < listaPessoas.size())
return listaPessoas.get(posicao);
else
return null;
}
/**
*
* @return Lista de Pessoas
*/
public List<Pessoa> getListaPessoas(){
return this.listaPessoas;
}
}