M431-ShadowHunterGame/tests/condition/ConditionStatistiquesTest.java

85 lines
2.2 KiB
Java

package condition;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import main.Joueur;
import main.Plateau;
class ConditionStatistiquesTest {
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_ComparisonOperatorsBehaveCorrectly() {
Random rand = new Random();
int randInt1 = rand.nextInt();
int randInt3 = rand.nextInt();
plateau.setStat("test", randInt1);
joueur.setStat("test", randInt3);
int randInt2 = rand.nextInt();
//Conditions sur le Plateau
ConditionStatistiques cs = new ConditionStatistiques(true,"test",randInt2,ConditionStatistiques.EQUAL);
assertEquals(cs.isTrue(joueur),randInt1 == randInt2);
cs = new ConditionStatistiques(true,"test",randInt2,ConditionStatistiques.MORE);
assertEquals(cs.isTrue(joueur),randInt1 >= randInt2);
cs = new ConditionStatistiques(true,"test",randInt2,ConditionStatistiques.LESS);
assertEquals(cs.isTrue(joueur),randInt1 <= randInt2);
//Conditions sur Joueur
cs = new ConditionStatistiques(false,"test",randInt2,ConditionStatistiques.MORE);
assertEquals(cs.isTrue(joueur),randInt3 >= randInt2);
cs = new ConditionStatistiques(false,"test",randInt2,ConditionStatistiques.MORE);
assertEquals(cs.isTrue(joueur),randInt3 >= randInt2);
cs = new ConditionStatistiques(false,"test",randInt2,ConditionStatistiques.LESS);
assertEquals(cs.isTrue(joueur),randInt3 <= randInt2);
}
@Test
void isTrue_InvalidEqualMoreLessParameter_False() {
plateau.setStat("test", 10);
joueur.setStat("test", 20);
ConditionStatistiques cs = new ConditionStatistiques(true,"test",0,
//Valeur censée être comprise entre 0 et 2
20);
assertFalse(cs.isTrue(joueur));
cs = new ConditionStatistiques(true,"test",0,
//Valeur censée être comprise entre 0 et 2
-1);
assertFalse(cs.isTrue(joueur));
}
}