diff --git a/design_pattern/src/tests/EtatActifTest.java b/design_pattern/src/tests/EtatActifTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..30f2caa96623d30847e964cdd663a103ecfe8779
--- /dev/null
+++ b/design_pattern/src/tests/EtatActifTest.java
@@ -0,0 +1,50 @@
+package tests;
+
+import modele.BatonDeSorcier;
+import modele.DPState.Etat;
+import modele.DPState.EtatActif;
+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 EtatActifTest {
+    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 EtatActif(roi);
+        etatActif = new EtatActif(sorcier);
+
+        roi.setStrategie(concreteStrategieNeutre);
+        sorcier.setStrategie(concreteStrategieNeutre);
+        roi.setEtat(etat);
+        sorcier.setEtat(etatActif);
+
+    }
+
+    @Test
+    void actionTour() {
+        int vieSorcierAttendu = sorcier.getPointsDeVie() - (5*roi.getArme().getDegat());
+        for (int i=0; i<5; i++){
+            roi.getEtat().actionTour(sorcier);
+        }
+        assertEquals(vieSorcierAttendu, sorcier.getPointsDeVie());
+    }
+}
\ No newline at end of file