From 3ade1593c0b4c911174bb63eb99144f03301c4bd Mon Sep 17 00:00:00 2001
From: rosier8u <basile.rosier6@etu.univ-lorraine>
Date: Tue, 28 Nov 2023 09:26:10 +0100
Subject: [PATCH] ajout de EtatEndormiTest

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

diff --git a/design_pattern/src/tests/EtatEndormiTest.java b/design_pattern/src/tests/EtatEndormiTest.java
new file mode 100644
index 0000000..bed1ef0
--- /dev/null
+++ b/design_pattern/src/tests/EtatEndormiTest.java
@@ -0,0 +1,55 @@
+package tests;
+
+import modele.*;
+import modele.DPState.Etat;
+import modele.DPState.EtatActif;
+import modele.DPState.EtatEndormi;
+import modele.DPStrategie.ConcreteStrategieAgressif;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class EtatEndormiTest {
+    private Etat etat;
+    private EtatActif etatActif;
+    private ConcreteStrategieAgressif concreteStrategieAgressif;
+    private Epee epee;
+    private Sorcier sorcier;
+    private Roi roi;
+    private BatonDeSorcier batonDeSorcier;
+    @BeforeEach
+    void setUp() {
+        etat = new EtatEndormi();
+        etatActif = new EtatActif();
+        concreteStrategieAgressif = new ConcreteStrategieAgressif();
+        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);
+
+        roi.setStrategie(concreteStrategieAgressif);
+        sorcier.setStrategie(concreteStrategieAgressif);
+        roi.setEtat(etat);
+        sorcier.setEtat(etatActif);
+
+    }
+
+    @Test
+    void actionTour() {
+        int attaqueRoi = 0;
+        int attaqueSorcier = 0;
+
+        for (int i=0; i<5; i++){
+            if(roi.getEtat() != etatActif){
+                roi.attaquer(sorcier);
+                attaqueRoi++;
+            }
+            if(sorcier.getEtat() != etatActif){
+                sorcier.attaquer(roi);
+                attaqueSorcier++;
+            }
+        }
+        assertNotEquals(attaqueRoi, attaqueSorcier);
+    }
+}
\ No newline at end of file
-- 
GitLab