--
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");
}
}