From 1db276082796daec06b33dd4f16f1f23320657da Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Mon, 20 Apr 2020 14:37:11 +0200 Subject: [PATCH] Tests ActionMultiple, ActionAltererStatistiquesJoueur --- src/effet/Effet.java | 1 + src/effet/EffetChoisirCible.java | 1 + src/effet/EffetCiblerAdjacents.java | 2 + src/effet/EffetCiblerTous.java | 1 + src/effet/EffetSelf.java | 1 + src/effet/{ => action}/Action.java | 2 +- .../ActionAltererStatistiquesJoueur.java | 4 +- src/effet/{ => action}/ActionAttaquer.java | 2 +- src/effet/{ => action}/ActionMultiple.java | 8 +-- src/effet/{ => action}/ActionPiocher.java | 2 +- src/effet/{ => action}/ActionVoler.java | 2 +- src/personnage/Allie.java | 4 +- src/personnage/Vampire.java | 4 +- .../ActionAltererStatistiquesJoueurTest.java | 63 +++++++++++++++++++ tests/effet/action/ActionMultipleTest.java | 62 ++++++++++++++++++ 15 files changed, 145 insertions(+), 14 deletions(-) rename src/effet/{ => action}/Action.java (83%) rename src/effet/{ => action}/ActionAltererStatistiquesJoueur.java (97%) rename src/effet/{ => action}/ActionAttaquer.java (92%) rename src/effet/{ => action}/ActionMultiple.java (72%) rename src/effet/{ => action}/ActionPiocher.java (93%) rename src/effet/{ => action}/ActionVoler.java (95%) create mode 100644 tests/effet/action/ActionAltererStatistiquesJoueurTest.java create mode 100644 tests/effet/action/ActionMultipleTest.java diff --git a/src/effet/Effet.java b/src/effet/Effet.java index 1e28035..20125ce 100644 --- a/src/effet/Effet.java +++ b/src/effet/Effet.java @@ -1,5 +1,6 @@ package effet; +import effet.action.Action; import main.Joueur; public abstract class Effet { diff --git a/src/effet/EffetChoisirCible.java b/src/effet/EffetChoisirCible.java index 8525626..8491fb8 100644 --- a/src/effet/EffetChoisirCible.java +++ b/src/effet/EffetChoisirCible.java @@ -1,5 +1,6 @@ package effet; +import effet.action.Action; import main.Joueur; public class EffetChoisirCible extends Effet{ diff --git a/src/effet/EffetCiblerAdjacents.java b/src/effet/EffetCiblerAdjacents.java index de0c6ee..c15fe08 100644 --- a/src/effet/EffetCiblerAdjacents.java +++ b/src/effet/EffetCiblerAdjacents.java @@ -2,6 +2,8 @@ package effet; import main.Joueur; import java.util.List; +import effet.action.Action; + public class EffetCiblerAdjacents extends Effet{ public EffetCiblerAdjacents(Action action) { diff --git a/src/effet/EffetCiblerTous.java b/src/effet/EffetCiblerTous.java index c5dd8de..1058a79 100644 --- a/src/effet/EffetCiblerTous.java +++ b/src/effet/EffetCiblerTous.java @@ -2,6 +2,7 @@ package effet; import java.util.List; +import effet.action.Action; import main.Joueur; import main.Plateau; diff --git a/src/effet/EffetSelf.java b/src/effet/EffetSelf.java index 608f553..f8e42e5 100644 --- a/src/effet/EffetSelf.java +++ b/src/effet/EffetSelf.java @@ -1,5 +1,6 @@ package effet; +import effet.action.Action; import main.Joueur; public class EffetSelf extends Effet{ diff --git a/src/effet/Action.java b/src/effet/action/Action.java similarity index 83% rename from src/effet/Action.java rename to src/effet/action/Action.java index ac86607..106b3c8 100644 --- a/src/effet/Action.java +++ b/src/effet/action/Action.java @@ -1,4 +1,4 @@ -package effet; +package effet.action; import main.Joueur; diff --git a/src/effet/ActionAltererStatistiquesJoueur.java b/src/effet/action/ActionAltererStatistiquesJoueur.java similarity index 97% rename from src/effet/ActionAltererStatistiquesJoueur.java rename to src/effet/action/ActionAltererStatistiquesJoueur.java index a9504d3..597bf71 100644 --- a/src/effet/ActionAltererStatistiquesJoueur.java +++ b/src/effet/action/ActionAltererStatistiquesJoueur.java @@ -1,7 +1,9 @@ -package effet; +package effet.action; import main.Joueur; public class ActionAltererStatistiquesJoueur extends Action{ + + private String key; private int valeur; private boolean ajouter; diff --git a/src/effet/ActionAttaquer.java b/src/effet/action/ActionAttaquer.java similarity index 92% rename from src/effet/ActionAttaquer.java rename to src/effet/action/ActionAttaquer.java index 3c7d9ef..eff36de 100644 --- a/src/effet/ActionAttaquer.java +++ b/src/effet/action/ActionAttaquer.java @@ -1,4 +1,4 @@ -package effet; +package effet.action; import main.Joueur; diff --git a/src/effet/ActionMultiple.java b/src/effet/action/ActionMultiple.java similarity index 72% rename from src/effet/ActionMultiple.java rename to src/effet/action/ActionMultiple.java index 093198a..cb5fceb 100644 --- a/src/effet/ActionMultiple.java +++ b/src/effet/action/ActionMultiple.java @@ -1,7 +1,5 @@ -package effet; +package effet.action; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import main.Joueur; @@ -10,10 +8,10 @@ public class ActionMultiple extends Action{ private List actions; - public ActionMultiple(Action...actions) + public ActionMultiple(List actions) { super(); - this.actions = new ArrayList(Arrays.asList(actions)); + this.actions = actions; } /** diff --git a/src/effet/ActionPiocher.java b/src/effet/action/ActionPiocher.java similarity index 93% rename from src/effet/ActionPiocher.java rename to src/effet/action/ActionPiocher.java index 67b7906..69f62cc 100644 --- a/src/effet/ActionPiocher.java +++ b/src/effet/action/ActionPiocher.java @@ -1,4 +1,4 @@ -package effet; +package effet.action; import main.Joueur; diff --git a/src/effet/ActionVoler.java b/src/effet/action/ActionVoler.java similarity index 95% rename from src/effet/ActionVoler.java rename to src/effet/action/ActionVoler.java index 42ab056..58512f7 100644 --- a/src/effet/ActionVoler.java +++ b/src/effet/action/ActionVoler.java @@ -1,4 +1,4 @@ -package effet; +package effet.action; import main.Equipement; import main.Joueur; diff --git a/src/personnage/Allie.java b/src/personnage/Allie.java index 07939eb..5c41728 100644 --- a/src/personnage/Allie.java +++ b/src/personnage/Allie.java @@ -6,10 +6,10 @@ import java.util.List; import condition.Condition; import condition.ConditionMultiple; import condition.ConditionStatistiques; -import effet.Action; -import effet.ActionAltererStatistiquesJoueur; import effet.Effet; import effet.EffetSelf; +import effet.action.Action; +import effet.action.ActionAltererStatistiquesJoueur; import main.Joueur; import main.Plateau; diff --git a/src/personnage/Vampire.java b/src/personnage/Vampire.java index ca6fc07..329d5d5 100644 --- a/src/personnage/Vampire.java +++ b/src/personnage/Vampire.java @@ -1,10 +1,10 @@ package personnage; import condition.WinConditionShadow; -import effet.Action; -import effet.ActionAltererStatistiquesJoueur; import effet.Effet; import effet.EffetSelf; +import effet.action.Action; +import effet.action.ActionAltererStatistiquesJoueur; import main.Joueur; diff --git a/tests/effet/action/ActionAltererStatistiquesJoueurTest.java b/tests/effet/action/ActionAltererStatistiquesJoueurTest.java new file mode 100644 index 0000000..15c323b --- /dev/null +++ b/tests/effet/action/ActionAltererStatistiquesJoueurTest.java @@ -0,0 +1,63 @@ +package effet.action; + +import static org.junit.Assert.assertEquals; + +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 ActionAltererStatistiquesJoueurTest { + + Joueur j1; + Joueur j2; + Plateau p; + Random rand; + + @BeforeEach + void init() + { + rand = new Random(); + List joueurs = new ArrayList(); + 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); + + + } + + @Test + void affecte_StatHasChanged() { + + int entier = rand.nextInt(); + ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, false); + aasj.affecte(j1, j2); + + assertEquals(j2.getStat(Joueur.PLAYER_HP),entier); + } + + @Test + void affecte_StatsAddedUp() { + + int entier = rand.nextInt(); + + int pvBaseJoueur = j2.getStat(Joueur.PLAYER_HP); + ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, true); + aasj.affecte(j1, j2); + + assertEquals(j2.getStat(Joueur.PLAYER_HP),pvBaseJoueur+entier); + } + +} diff --git a/tests/effet/action/ActionMultipleTest.java b/tests/effet/action/ActionMultipleTest.java new file mode 100644 index 0000000..86124b6 --- /dev/null +++ b/tests/effet/action/ActionMultipleTest.java @@ -0,0 +1,62 @@ +package effet.action; + +import static org.junit.Assert.assertEquals; + +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 ActionMultipleTest { + + Joueur j1; + Joueur j2; + Plateau p; + Random rand; + + @BeforeEach + void init() + { + rand = new Random(); + List joueurs = new ArrayList(); + 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); + + + } + + @Test + void affecte_StatsAddedUp() { + + int entier = 2; + int pvBaseJoueur = j2.getStat(Joueur.PLAYER_HP); + int nbEffets = 15; + + List actions = new ArrayList(); + + for(int i = 0; i<15; i++) + { + ActionAltererStatistiquesJoueur aasj = new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, entier, true); + actions.add(aasj); + } + + ActionMultiple am = new ActionMultiple(actions); + am.affecte(j1, j2); + + assertEquals(j2.getStat(Joueur.PLAYER_HP),pvBaseJoueur+entier*nbEffets); + } + +}