diff --git a/design_pattern/src/tests/EtatEndormiTest.java b/design_pattern/src/tests/EtatEndormiTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..bed1ef0e491e8ce615b17790f475f855c505610f
--- /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