/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.apolo.testes;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import com.apolo.controle.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(){
Pessoa p4 = new Pessoa("Jose de Andrade Lima", "jal@gmail.com", "Rua C","H");
p4.setFone("000");
try{
f.inserirPessoa(p4);
}catch (Exception e){
System.out.print(e.getMessage());
fail();
}
}
/**
* 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
String nome="Maria Joaquina Cavalcante";
String nomeTeste="";
Pessoa p;
p = f.procurarPessoa(2);
nomeTeste = p.getNome();
if (nome.equals(nomeTeste)){
assertTrue(true);
}else{
fail();
}
}
/**
* 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.removerPessoa(1);
}catch (Exception e){
System.out.println(e.getMessage());
fail();
}
}
/**
* 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
int qtd=0;
qtd = f.quantidadePessoas();
if (qtd==3){
assertTrue(true);
}else{
fail();
}
}
/**
* 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(){
Pessoa p;
int indice=2;
String nomeTeste="";
//de acordo com o setup do teste, a Pessoa de indice 2 deve ser a Pessoa de nome Maria Joaquina Cavalcante
p = f.procurarPessoa(indice);
nomeTeste = "Maria Joaquina Cavalcante";
if (p.getNome().equals(nomeTeste)){
assertTrue(true);
}else{
fail();
}
}
/**
* 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(){
Pessoa p, pAux;
String email="";
p = new Pessoa("Armando Soares Sousa", "armando@ufpi.edu.br", "Rua A","H");
p.setCodigo(0); //referente ao indice da pessoa Armando.
f.atualizaPessoa(p);
//verifica se o e-mail do armando foi atualizado para armando@ufpi.edu.br
pAux = f.pegaPosicaoPessoa(0);
email = "armando@ufpi.edu.br";
if (pAux.getEmail().equals(email)){
assertTrue(true);
}else{
fail();
}
}
/**
* Checa se as Pessoas inseridas no Setup do TestCase estao realmente inseridas na Lista de Pessoas
*/
@Test
public void TestCaseListaPessoas(){
List<Pessoa> listaPessoasAux;
try{
listaPessoasAux = f.listaPessoas();
if (listaPessoasAux.size() == 3){
assertTrue(true);
}else{
fail();
}
}catch(Exception e){
System.out.println(e.getMessage());
fail();
}
}
}