XP : TestesDoJogoDoMeioIteracaoFinal

XP » XP » WebHome » TrabalhosFinais » JogoDoMeio » TestesParaOJogoDoMeio » TestesDoJogoDoMeioIteracaoFinal

-- AndreGermanoRegert - 07 Jul 2005


/*
 * Criado em 02/07/2005
 */
package testesDoJogoDoMeio;

import jogoDoMeio.JogoDoMeio;
/**
 * @author André Germano Regert &
 *          Jader Wallauer
 */
public class testaJogoDoMeio {

   public static void main(String[] args){

      testaAbrirJogo();
      testaIniciarJogo();
      testaJogada();
      testaTerminarJogo();
      
      System.out.println("Jogo OK");
      
   }
   
   private static void testaAbrirJogo(){
      System.out.println("TESTES - ABRIR JOGO: \n");
      testaMinimoDeJogadoresQueVãoJogar();
      testaMaximoDeJogadoresQueVãoJogar();
      testaAdicionaJogador();
      testaRecolherNomeDosJogadores();
      System.out.println("TESTES - ABRIR JOGO - OK \n");
   }

   private static void testaIniciarJogo() {
      System.out.println("TESTES - INICIAR JOGO: \n");
      testaCriarIntervaloCandidato();
      testaDefinirIntervalo();
      System.out.println("TESTES - INICIAR JOGO - OK \n");
   }

   private static void testaJogada() {
      System.out.println("TESTES - JOGADA: \n");
      testaMontaPerguntaAosJogadores();
      testaFazerPerguntaAosJogadores();
      testaRecolherRespostaDosJogadores();
      testaViraCartaNaMesa();
      testaVerificarSeCartaEstaDentroDoIntervalo();
      testaVerificarQuemAcertouEDistribuirPontos();
      System.out.println("TESTES - JOGADA - OK \n");
   }

   private static void testaTerminarJogo() {
      System.out.println("TESTES - TERMINAR JOGO: \n");
      testaTerminouJogo();
      testaAnunciaVencedor();
      //testaPerguntaSeNovoJogo();
      System.out.println("TESTES - TERMINAR JOGO - OK\n");
   }

   //testaAbrirJogo
   private static void testaMinimoDeJogadoresQueVãoJogar(){
      try {
         System.out.println("TESTE: Número mínimo de Jogadores");
         System.out.println("Entre com um inteiro menor do que 2:");
         JogoDoMeio jogo = new JogoDoMeio();
         jogo.QuantosJogadoresVãoJogar();
      } catch (AssertionError ae) {
         //assert ae.getMessage().equals("O jogo precisa de no mínimo 2 jogadores");
         if (ae.getMessage().equals("O jogo precisa de no mínimo 2 jogadores")) {
            System.out.println("TESTE: Número mínimo de Jogadores - OK\n");
         } else {
            throw ae;
         }
      }
   }
   private static void testaMaximoDeJogadoresQueVãoJogar() {
      try {
         System.out.println("TESTE: Numero máximo de Jogadores");
         System.out.println("Entre com um inteiro maior do que 5:");
         JogoDoMeio jogo = new JogoDoMeio();
         jogo.QuantosJogadoresVãoJogar();
      } catch (AssertionError ae) {
         //assert ae.getMessage().equals("O jogo nao pode ter mais que 5 jogadores");
         if (ae.getMessage().equals("O jogo nao pode ter mais que 5 jogadores")) {
            System.out.println("TESTE: Numero máximo de Jogadores - OK\n");
         } else {
            throw ae;
         }
      }
   }
   private static void testaAdicionaJogador(){
      try {
         System.out.println("TESTE: Adicionar um jogador");
         JogoDoMeio jogo = new JogoDoMeio();
         jogo.AdicionaJogador("");
      } catch (AssertionError ae){
         //assert (ae.getMessage().equals("O jogador precisa de um nome para participar do jogo"));   
         if (ae.getMessage().equals("O jogador precisa de um nome para participar do jogo")) {
            System.out.println("TESTE: Adicionar um jogador - OK\n");
         } else {
            throw ae;
         }
      }
   }
   private static void testaRecolherNomeDosJogadores() {
      JogoDoMeio jogo = new JogoDoMeio();
      System.out.println("TESTE: Recolher nome dos Jogadores");
      System.out.println("entre com um inteiro entre 2 e 5:");
      jogo.QuantosJogadoresVãoJogar();
      jogo.recolherNomeDosJogadores();
      for (int i = 0; i < jogo.jogadores.length; i++) {
         assert (jogo.jogadores[i] != null) : "Nem todos os jogadores estão no jogo ainda";
      }
      System.out.println("TESTE: Recolher nome dos Jogadores - OK\n");
   }
   //testaIniciarJogo
   private static void testaCriarIntervaloCandidato() {
      System.out.println("TESTE: criando intervalo de cartas candidato");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.criarIntervaloCandidato();
      assert ((jogo.umaCartaDoIntervalo ^ jogo.outraCartaDoIntervalo) != 0)
         : "O intervalo candidato não foi criado";
      System.out.println("TESTE: criando intervalo de cartas candidato - OK\n");
   }
   private static void testaDefinirIntervalo(){
      System.out.println("TESTE: Definindo intervalo de cartas para o jogo");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.definirIntervalo();
      assert (jogo.intervaloDefinido)   : "O intervalo não foi definido";
      System.out.println("TESTE: Definindo intervalo de cartas para o jogo - OK\n");
   }
   //testaJogada
   private static void testaMontaPerguntaAosJogadores() {
      System.out.println("TESTE: Montando a pergunta aos Jogadores com o intervalo");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.montaPerguntaAosJogadores();
      assert (!jogo.pergunta.equals("")) : "A pergunta nao foi montada";
      System.out.println("TESTE: Montando a pergunta aos Jogadores com o intervalo - OK\n");
   }
   private static void testaFazerPerguntaAosJogadores() {
      System.out.println("TESTE: Fazendo a pergunta aos Jogadores.");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.montaPerguntaAosJogadores();
      jogo.perguntar();
      assert (!jogo.pergunta.equals("")) : "A pergunta nao foi montada";
      System.out.println("TESTE: Fazendo a pergunta aos Jogadores - OK\n");
   }
   private static void testaRecolherRespostaDosJogadores() {
      System.out.println("TESTE: Recolhendo a resposta dos Jogadores.");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.QuantosJogadoresVãoJogar();
      jogo.AdicionaJogador("Fulano");
      jogo.AdicionaJogador("Beltrano");
      jogo.perguntar();
      jogo.recolherRespostas();
      assert (jogo.respostas != null) : "As respostas não foram recolhidas";
      System.out.println("TESTE: Recolhendo a resposta dos Jogadores - OK");
   }
   private static void testaViraCartaNaMesa() {
      System.out.println("TESTE: Virando uma carta na mesa");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.definirIntervalo();
      int monteAntes = jogo.baralho.totalDeCartas;
      jogo.virarCartaNaMesa();
      int monteDepois = jogo.baralho.totalDeCartas;
      assert (monteAntes - monteDepois == 1) : "A carta nao foi virada na mesa";
      System.out.println("TESTE: Virando uma carta na mesa - OK\n");
   }
   private static void testaVerificarSeCartaEstaDentroDoIntervalo() {
      try {
         System.out.println("TESTE: Verificado se carta está dentro do intervalo");
         JogoDoMeio jogo = new JogoDoMeio();
         jogo.definirIntervalo();
         int carta = jogo.virarCartaNaMesa();
         //int carta = 0;
         jogo.verificaCartaNoIntervalo(carta);
      } catch (AssertionError ae) {
         if (ae.getMessage().equals("Este não é um valor válido para uma carta.")) {
            System.out.println("TESTE: Verificado se carta está dentro do intervalo - OK\n");
         } else {
            throw ae;
         }
      }
   }
   private static void testaVerificarQuemAcertouEDistribuirPontos() {
      System.out.println("TESTE: Verificando quem acertou e distribuindo pontos.");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.QuantosJogadoresVãoJogar();
      jogo.AdicionaJogador("Fulano");
      jogo.AdicionaJogador("Beltrano");
      jogo.perguntar();
      jogo.recolherRespostas();
      jogo.virarCartaNaMesa();
      jogo.verificarRespostasEDistribuirPontos();
      //??assert (jogo.respostas != null) : "As respostas não foram recolhidas";
      System.out.println("TESTE: Verificando quem acertou e distribuindo pontos - OK");
   }
   //testaTerminarJogo
   private static void testaTerminouJogo() {
      System.out.println("TESTE: Verificando se o jogo terminou.");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.baralho.totalDeCartas = 0;
      assert (!jogo.haJogadasPorFazer()) : "O jogo não terminou.";
      System.out.println("TESTE: Verificando se o jogo terminou - OK");
   }
   private static void testaAnunciaVencedor() {
      System.out.println("TESTE: Anunciando vencedor.");
      JogoDoMeio jogo = new JogoDoMeio();
      jogo.QuantosJogadoresVãoJogar();
      jogo.AdicionaJogador("Fulano");
      jogo.AdicionaJogador("Beltrano");
      jogo.jogadores[0].adicionaPontos(200);
      jogo.jogadores[1].adicionaPontos(100);
      String vencedor = jogo.anunciaVencedor();
      assert (!vencedor.toString().equals("")) : "Este não é um valor válido para vencedor";
      System.out.println("TESTE: Anunciando vencedor - OK");
   }

}


E D U G R A F - Laboratório de Software Educacional - UFSC - CTC - INE
Campus Universitário - Trindade, Florianópolis, SC, Brasil 88040-090
Fone: +55 48 331 9735 / Fax: +55 48 331-9770