XP : TestesFramework

XP » XP » WebHome » TrabalhosFinais » MauMau » TestesFramework

-- NeyZunino - 08 Jul 2005

package testes;

import java.util.HashSet;
import java.util.Set;

import maumau.JogoMauMau;

import fwjogos.Jogo;
import fwjogos.Resultado;

public class TestesDoFramework {
   private static Jogo jogo;
   private static Set<String> quemQuerJogar;
   private static Resultado resultado;

   public static void main(String[] args) {
      umJogoNaoDeveSerIniciadoSemOMinimoDeJogadoresNecessarios();
      umJogoDeveSerIniciadoComOMinimoDeJogadoresNecessarios();
      umJogoNaoDeveSerIniciadoAlemDoMaximoDeJogadoresNecessarios();
      umJogoDeveSerIniciadoComOMaximoDeJogadoresNecessarios();
      impossivelPegarResultadoSemJogar();
      possivelPegarResultadoAposJogar();
      resultadoContemVencedoresQueSãoJogadores();
      oNumeroMinimoDeJogadoresDeveSerMenorIgualAoNumeroMaximoDeJogadores();
      OK();
   }

   private static void umJogoNaoDeveSerIniciadoSemOMinimoDeJogadoresNecessarios() {
      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("João");
      quemQuerJogar.add("Pedro");
      try {
         jogo = new JogoMauMau(quemQuerJogar, 3, 3);
         assert false: "Jogo iniciado sem o numero minimo de participantes";
      } catch (AssertionError ae){
         assert ae.getMessage().equals("O jogo não conta com o número minimo de jogadores");
      }
   }

   private static void oNumeroMinimoDeJogadoresDeveSerMenorIgualAoNumeroMaximoDeJogadores() {
      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("João");
      quemQuerJogar.add("Wanderson");
      try{
         jogo = new JogoMauMau(quemQuerJogar, 3, 2);
         assert false : ("Foi possivel jogar com numero minimo maior que numero maximo de jogadores");
      }
      catch(AssertionError e){
      assert e.getMessage().equals("O jogo não conta com o número minimo de jogadores") ||
     e.getMessage().equals("O jogo extrapolou o número máximo de jogadores");
      }
   }


   private static void resultadoContemVencedoresQueSãoJogadores() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("João");
      quemQuerJogar.add("Wanderson");
      quemQuerJogar.add("Leo");
      jogo = new JogoMauMau(quemQuerJogar, 1, 5);
      jogo.jogue();
      resultado = jogo.resultado();
      Set<String> vencedores = resultado.vencedores();
      for (String vencedor : vencedores ){
         assert (quemQuerJogar.contains(vencedor));
      }

   }

   private static void possivelPegarResultadoAposJogar() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("Caio");
      jogo = new JogoMauMau(quemQuerJogar, 1, 1);
      jogo.jogue();
      resultado = jogo.resultado();
      assert (resultado != null): "Não foi possivel obter o resultado";

   }

   private static void impossivelPegarResultadoSemJogar() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("Caio");
      jogo = new JogoMauMau(quemQuerJogar, 1, 1);
      try {
         resultado = jogo.resultado();
         assert false: "Não deveria ter obtido resultado sem jogar";
      } catch (AssertionError ae){
         assert ae.getMessage().equals("Impossivel obter resultado sem jogar");
      }

   }

   private static void umJogoDeveSerIniciadoComOMaximoDeJogadoresNecessarios() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("Caio");
      jogo = new JogoMauMau(quemQuerJogar, 1, 1) ;
      assert (jogo != null): "Não foi possivel iniciar o jogo:" +
            "Problemas no numero máximo de jogadores";

   }

   private static void umJogoNaoDeveSerIniciadoAlemDoMaximoDeJogadoresNecessarios() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("João");
      quemQuerJogar.add("Pedro");
      try {
         jogo = new JogoMauMau(quemQuerJogar, 1, 1);
         assert false: "Jogo iniciado além do número máximo de participantes";
      } catch (AssertionError ae){
         assert ae.getMessage().equals("O jogo extrapolou o número máximo de jogadores");
      }

   }

   private static void umJogoDeveSerIniciadoComOMinimoDeJogadoresNecessarios() {

      quemQuerJogar = new HashSet<String>();
      quemQuerJogar.add("João");
      quemQuerJogar.add("Caio");
      jogo = new JogoMauMau(quemQuerJogar, 2, 5);
      assert (jogo != null): "Não foi possivel iniciar o jogo" +
            ": Problema no numero minimo de jogadores";

   }

   private static void OK() {
      System.out.println("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