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