From 175c7227657cc477bade9b199b74a0454efb857f Mon Sep 17 00:00:00 2001
From: rosier8u <basile.rosier6@etu.univ-lorraine>
Date: Tue, 28 Nov 2023 10:02:49 +0100
Subject: [PATCH] ajout de EtatActifTest

---
 design_pattern/src/tests/EtatBlesseTest.java | 53 ++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 design_pattern/src/tests/EtatBlesseTest.java

diff --git a/design_pattern/src/tests/EtatBlesseTest.java b/design_pattern/src/tests/EtatBlesseTest.java
new file mode 100644
index 0000000..c147e33
--- /dev/null
+++ b/design_pattern/src/tests/EtatBlesseTest.java
@@ -0,0 +1,53 @@
+package tests;
+
+import modele.BatonDeSorcier;
+import modele.DPState.Etat;
+import modele.DPState.EtatActif;
+import modele.DPState.EtatBlesse;
+import modele.DPState.EtatEndormi;
+import modele.DPStrategie.ConcreteStrategieAgressif;
+import modele.DPStrategie.ConcreteStrategieNeutre;
+import modele.Epee;
+import modele.Roi;
+import modele.Sorcier;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class EtatBlesseTest {
+    private Etat etat;
+    private EtatActif etatActif;
+    private ConcreteStrategieNeutre concreteStrategieNeutre;
+    private Epee epee;
+    private Sorcier sorcier;
+    private Roi roi;
+    private BatonDeSorcier batonDeSorcier;
+    @BeforeEach
+    void setUp() {
+        concreteStrategieNeutre = new ConcreteStrategieNeutre();
+        epee = new Epee(20, "epee", 2.0, 10);
+        batonDeSorcier = new BatonDeSorcier(15, "baton", 1.5, "pouvoir");
+        roi = new Roi(100, 1, "roi", epee, 20, "royaume");
+        sorcier = new Sorcier(40, 1, "sorcier", batonDeSorcier, 20);
+        etat = new EtatBlesse(roi);
+        etatActif = new EtatActif(sorcier);
+
+        roi.setStrategie(concreteStrategieNeutre);
+        sorcier.setStrategie(concreteStrategieNeutre);
+        roi.setEtat(etat);
+        sorcier.setEtat(etatActif);
+    }
+
+
+    @Test
+    void actionTour() {
+        int pointDeVieRoiDebut = roi.getPointsDeVie();
+        int vieSorcierSiActif = sorcier.getPointsDeVie() - (5* roi.getArme().getDegat());
+        for (int i=0; i<5; i++){
+            roi.getEtat().actionTour(sorcier);
+        }
+        assertNotEquals(pointDeVieRoiDebut, roi.getPointsDeVie());
+        assertNotEquals(vieSorcierSiActif, roi.getPointsDeVie());
+    }
+}
\ No newline at end of file
-- 
GitLab