Unit tests WinConditionHunter / Shadow
This commit is contained in:
parent
b6a1db9e3b
commit
fb4e3c6c7c
@ -11,6 +11,15 @@ public class ConditionClassPersonnage extends Condition{
|
|||||||
|
|
||||||
private List<Class<? extends CartePersonnage>> classes;
|
private List<Class<? extends CartePersonnage>> classes;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construit une condition qui vérifie la possession d'un certain Personnage dans une liste définie.
|
||||||
|
* exemple :
|
||||||
|
*
|
||||||
|
* classes = { Emi.class, Metamorphe.class, ... etc }
|
||||||
|
*
|
||||||
|
* @param classes Les Class des différents Personnage's.
|
||||||
|
*/
|
||||||
public ConditionClassPersonnage(List<Class<? extends CartePersonnage>> classes){
|
public ConditionClassPersonnage(List<Class<? extends CartePersonnage>> classes){
|
||||||
|
|
||||||
this.classes = new ArrayList<Class<? extends CartePersonnage>>();
|
this.classes = new ArrayList<Class<? extends CartePersonnage>>();
|
||||||
|
@ -4,8 +4,8 @@ import main.Joueur;
|
|||||||
|
|
||||||
public class ConditionStatistiques extends Condition {
|
public class ConditionStatistiques extends Condition {
|
||||||
|
|
||||||
public static final boolean PLATEAU = false;
|
public static final boolean PLATEAU = true;
|
||||||
public static final boolean JOUEUR = true;
|
public static final boolean JOUEUR = false;
|
||||||
|
|
||||||
public static final int EQUAL = 0;
|
public static final int EQUAL = 0;
|
||||||
public static final int MORE = 1;
|
public static final int MORE = 1;
|
||||||
@ -19,7 +19,6 @@ public class ConditionStatistiques extends Condition {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param plateauJoueur
|
* @param plateauJoueur
|
||||||
* @param key
|
* @param key
|
||||||
* @param value
|
* @param value
|
||||||
@ -28,11 +27,10 @@ public class ConditionStatistiques extends Condition {
|
|||||||
public ConditionStatistiques(boolean plateauJoueur,String key,int value,int equalMoreLess) {
|
public ConditionStatistiques(boolean plateauJoueur,String key,int value,int equalMoreLess) {
|
||||||
|
|
||||||
if(equalMoreLess >= 0 && equalMoreLess <= 2) this.equalMoreLess = equalMoreLess;
|
if(equalMoreLess >= 0 && equalMoreLess <= 2) this.equalMoreLess = equalMoreLess;
|
||||||
else // TODO exception
|
else {} // TODO exception
|
||||||
|
|
||||||
this.key = key;
|
this.key = key;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
|
||||||
this.plateauJoueur = plateauJoueur;
|
this.plateauJoueur = plateauJoueur;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,21 +44,21 @@ public class ConditionStatistiques extends Condition {
|
|||||||
int valeur;
|
int valeur;
|
||||||
if(this.plateauJoueur)
|
if(this.plateauJoueur)
|
||||||
{
|
{
|
||||||
valeur = joueur.getPlateau().getStat(key);
|
valeur = joueur.getPlateau().getStat(this.key);
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
valeur = joueur.getStat(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
valeur = joueur.getStat(this.key);
|
||||||
|
}
|
||||||
|
|
||||||
switch(this.equalMoreLess) {
|
switch(this.equalMoreLess) {
|
||||||
case EQUAL:
|
case EQUAL:
|
||||||
return this.value == valeur;
|
return this.value == valeur;
|
||||||
case MORE:
|
case MORE:
|
||||||
return this.value <= valeur;
|
|
||||||
case LESS:
|
|
||||||
return this.value >= valeur;
|
return this.value >= valeur;
|
||||||
|
case LESS:
|
||||||
|
return this.value <= valeur;
|
||||||
default:
|
default:
|
||||||
// TODO exception
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,9 @@ public class WinConditionHunter extends Condition{
|
|||||||
public boolean isTrue(Joueur j)
|
public boolean isTrue(Joueur j)
|
||||||
{
|
{
|
||||||
int nbShadow = j.getPlateau().getStat(Plateau.NB_SHADOWS);
|
int nbShadow = j.getPlateau().getStat(Plateau.NB_SHADOWS);
|
||||||
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE);
|
|
||||||
|
Condition winCondition = new ConditionStatistiques(
|
||||||
|
ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.LESS);
|
||||||
return winCondition.isTrue(j);
|
return winCondition.isTrue(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,10 @@ public class WinConditionShadow extends Condition{
|
|||||||
public boolean isTrue(Joueur j)
|
public boolean isTrue(Joueur j)
|
||||||
{
|
{
|
||||||
int nbHunter = j.getPlateau().getStat(Plateau.NB_HUNTERS);
|
int nbHunter = j.getPlateau().getStat(Plateau.NB_HUNTERS);
|
||||||
Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE);
|
Condition winCondition =
|
||||||
|
new ConditionMultipleOR(
|
||||||
|
new ConditionStatistiques(ConditionStatistiques.PLATEAU,Plateau.NB_MORTS_NEUTRAL,3,ConditionStatistiques.LESS),
|
||||||
|
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.LESS));
|
||||||
return winCondition.isTrue(j);
|
return winCondition.isTrue(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,6 @@ public class CarteLieu {
|
|||||||
private String nom;
|
private String nom;
|
||||||
private CarteLieu voisin;
|
private CarteLieu voisin;
|
||||||
private Plateau plateau;
|
private Plateau plateau;
|
||||||
// TODO connaitre carte voisine sur un autre territoire pour emi?
|
|
||||||
|
|
||||||
|
|
||||||
public CarteLieu(String n, List<Integer> vals, CarteLieu vois, Plateau plat){
|
public CarteLieu(String n, List<Integer> vals, CarteLieu vois, Plateau plat){
|
||||||
nom = n;
|
nom = n;
|
||||||
|
@ -58,12 +58,17 @@ public class Joueur {
|
|||||||
return this.equipe;
|
return this.equipe;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int setStat(String key, int valeur) {
|
public void setStat(String key, int valeur) {
|
||||||
return stats.put(key, valeur);
|
this.stats.put(key, valeur);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getStat(String key) {
|
public int getStat(String key) {
|
||||||
return stats.get(key);
|
|
||||||
|
if(stats.containsKey(key)) {
|
||||||
|
return stats.get(key);
|
||||||
|
}else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -134,4 +139,8 @@ public class Joueur {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPlateau(Plateau plateau2) {
|
||||||
|
this.plateau = plateau2;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -34,17 +34,18 @@ public class Plateau {
|
|||||||
this.joueurs = joueurs;
|
this.joueurs = joueurs;
|
||||||
this.lieux = new ArrayList<>();
|
this.lieux = new ArrayList<>();
|
||||||
|
|
||||||
stats = new HashMap<>();
|
this.stats = new HashMap<>();
|
||||||
|
|
||||||
// Initialisation plateau
|
// Initialisation plateau
|
||||||
stats.put(NB_HUNTERS, 0);
|
this.stats.put(NB_HUNTERS, 0);
|
||||||
stats.put(NB_SHADOWS, 0);
|
this.stats.put(NB_SHADOWS, 0);
|
||||||
stats.put(NB_NEUTRES, 0);
|
this.stats.put(NB_NEUTRES, 0);
|
||||||
stats.put(NB_MORTS, 0);
|
this.stats.put(NB_MORTS, 0);
|
||||||
stats.put(NB_MORTS_NEUTRAL, 0);
|
this.stats.put(NB_MORTS_NEUTRAL, 0);
|
||||||
stats.put(NB_MORTS_HUNTER, 0);
|
this.stats.put(NB_MORTS_HUNTER, 0);
|
||||||
stats.put(NB_MORTS_SHADOW, 0);
|
this.stats.put(NB_MORTS_SHADOW, 0);
|
||||||
stats.put(PARTIE_FINIE, 0);
|
this.stats.put(PARTIE_FINIE, 0);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,10 +96,15 @@ public class Plateau {
|
|||||||
return this.joueurs;
|
return this.joueurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setStat(String key, int valeur) {
|
||||||
|
this.stats.put(key, valeur);
|
||||||
|
}
|
||||||
|
|
||||||
public int getStat(String key) {
|
public int getStat(String key) {
|
||||||
|
|
||||||
if(this.stats.containsKey(key))
|
if(this.stats.containsKey(key))
|
||||||
{
|
{
|
||||||
return this.getStat(key);
|
return this.stats.get(key);
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
//TODO Exception
|
//TODO Exception
|
||||||
|
26
tests/condition/ConditionStatistiquesTest.java
Normal file
26
tests/condition/ConditionStatistiquesTest.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package condition;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
|
||||||
|
import main.Joueur;
|
||||||
|
import main.Plateau;
|
||||||
|
|
||||||
|
class ConditionStatistiquesTest {
|
||||||
|
|
||||||
|
Plateau plateau;
|
||||||
|
Joueur joueur;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
void init() {
|
||||||
|
List<Joueur> list = new ArrayList<Joueur>();
|
||||||
|
joueur = new Joueur("Jack");
|
||||||
|
list.add(joueur);
|
||||||
|
plateau = new Plateau(list);
|
||||||
|
joueur.setPlateau(plateau);
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO
|
||||||
|
}
|
49
tests/condition/WinConditionHunterTest.java
Normal file
49
tests/condition/WinConditionHunterTest.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package condition;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import main.Joueur;
|
||||||
|
import main.Plateau;
|
||||||
|
|
||||||
|
class WinConditionHunterTest {
|
||||||
|
|
||||||
|
Plateau plateau;
|
||||||
|
Joueur joueur;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void init() {
|
||||||
|
List<Joueur> list = new ArrayList<Joueur>();
|
||||||
|
joueur = new Joueur("Jack");
|
||||||
|
list.add(joueur);
|
||||||
|
plateau = new Plateau(list);
|
||||||
|
joueur.setPlateau(plateau);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_AllShadowsAreDead_True() {
|
||||||
|
|
||||||
|
WinConditionHunter wch = new WinConditionHunter();
|
||||||
|
plateau.setStat(Plateau.NB_SHADOWS, 2);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_SHADOW, 2);
|
||||||
|
|
||||||
|
assertTrue(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_NotAllShadowsAreDead_False() {
|
||||||
|
|
||||||
|
WinConditionHunter wch = new WinConditionHunter();
|
||||||
|
plateau.setStat(Plateau.NB_SHADOWS, 20);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_SHADOW, 8);
|
||||||
|
|
||||||
|
assertFalse(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
78
tests/condition/WinConditionShadowTest.java
Normal file
78
tests/condition/WinConditionShadowTest.java
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
package condition;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import main.Joueur;
|
||||||
|
import main.Plateau;
|
||||||
|
|
||||||
|
class WinConditionShadowTest {
|
||||||
|
|
||||||
|
Plateau plateau;
|
||||||
|
Joueur joueur;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void init() {
|
||||||
|
List<Joueur> list = new ArrayList<Joueur>();
|
||||||
|
joueur = new Joueur("Jack");
|
||||||
|
list.add(joueur);
|
||||||
|
plateau = new Plateau(list);
|
||||||
|
joueur.setPlateau(plateau);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_AllHuntersAreDead_LessThan3NeutralsAreDead_True() {
|
||||||
|
|
||||||
|
WinConditionShadow wch = new WinConditionShadow();
|
||||||
|
plateau.setStat(Plateau.NB_HUNTERS, 2);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_HUNTER, 2);
|
||||||
|
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_NEUTRAL, 2);
|
||||||
|
|
||||||
|
assertTrue(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_AllHuntersAreDead_MoreThan3NeutralsAreDead_True() {
|
||||||
|
|
||||||
|
WinConditionShadow wch = new WinConditionShadow();
|
||||||
|
plateau.setStat(Plateau.NB_HUNTERS, 2);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_HUNTER, 2);
|
||||||
|
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_NEUTRAL, 4);
|
||||||
|
|
||||||
|
assertTrue(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_NotAllHuntersAreDead_MoreThan3NeutralsAreDead_True() {
|
||||||
|
|
||||||
|
WinConditionShadow wch = new WinConditionShadow();
|
||||||
|
plateau.setStat(Plateau.NB_HUNTERS, 20);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_HUNTER, 8);
|
||||||
|
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_NEUTRAL, 4);
|
||||||
|
|
||||||
|
assertTrue(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isTrue_NotAllHuntersAreDead_LessThan3NeutralsAreDead_False() {
|
||||||
|
|
||||||
|
WinConditionShadow wch = new WinConditionShadow();
|
||||||
|
plateau.setStat(Plateau.NB_HUNTERS, 20);
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_HUNTER, 8);
|
||||||
|
|
||||||
|
plateau.setStat(Plateau.NB_MORTS_NEUTRAL, 2);
|
||||||
|
|
||||||
|
assertFalse(wch.isTrue(joueur));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user