CarteLieu possède désormais ses propres pioches
This commit is contained in:
73
tests/effet/action/ActionAttaquerTest.java
Normal file
73
tests/effet/action/ActionAttaquerTest.java
Normal file
@ -0,0 +1,73 @@
|
||||
package effet.action;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
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 ActionAttaquerTest {
|
||||
|
||||
Joueur j1;
|
||||
Joueur j2;
|
||||
Plateau p;
|
||||
|
||||
@BeforeEach
|
||||
void init()
|
||||
{
|
||||
List<Joueur> joueurs = new ArrayList<Joueur>();
|
||||
j1 = new Joueur("Michel");
|
||||
j2 = new Joueur("Gérard");
|
||||
|
||||
joueurs.add(j1);
|
||||
joueurs.add(j2);
|
||||
|
||||
p = new Plateau(joueurs);
|
||||
|
||||
j1.setPlateau(p);
|
||||
j2.setPlateau(p);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* L'attaque du plateau se base sur des tirages aléatoires de dés.
|
||||
* La réussite moyenne d'une attaque est d'environ 80 %
|
||||
* En autorisant une erreur d'environ 2 %
|
||||
*
|
||||
* On vérifie que la différence du nombre d'attaques réussie avec la moyenne
|
||||
* des attaques réussie est bien inférieure à 2 %.
|
||||
*/
|
||||
@Test
|
||||
void attaquer_BaissePV() {
|
||||
|
||||
int error = 2;
|
||||
ActionAttaquer aa = new ActionAttaquer();
|
||||
|
||||
int pvBaseJ2 = 100;
|
||||
j2.setStat(Joueur.PLAYER_HP, pvBaseJ2);
|
||||
aa.affecte(j1, j2);
|
||||
|
||||
for(int j = 0; j< 1000; j++) {
|
||||
|
||||
int countNb = 0;
|
||||
|
||||
for(int i = 0; i < 10000; i++)
|
||||
{
|
||||
j2.setStat(Joueur.PLAYER_HP, pvBaseJ2);
|
||||
aa.affecte(j1, j2);
|
||||
|
||||
if(j2.getStat(Joueur.PLAYER_HP) < pvBaseJ2) countNb++;
|
||||
}
|
||||
|
||||
countNb /= 100;
|
||||
assertTrue(Math.abs(countNb-80) <= error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user