diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index 662e00f5ba3d41ce5db68c68eeb3fc998a282f46..349c804079828ec750f7d033c478200d99a5d187 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -102,7 +102,7 @@ public class Character extends Entity{
                     break;
                 }
             }
-
+            
         //on gere les collisions laterales et celle du haut
         for (int i=0;i<collisionsPresentes.size();i++){
 
diff --git a/MAVENProject/src/main/java/entity/Monster.java b/MAVENProject/src/main/java/entity/Monster.java
index 0bc4a47e70c4e38789a5dafddb941925b5fca534..003a23a572cb9c53f5aa872c8abfe9e5bebcd4bb 100644
--- a/MAVENProject/src/main/java/entity/Monster.java
+++ b/MAVENProject/src/main/java/entity/Monster.java
@@ -108,7 +108,7 @@ public class Monster extends Entity{
     public void attaque(){//isAttacking > 0 pour dire que si il est entrain d'attaquer, il finit son attaque
         if ((Math.abs(this.coord.getX()-getGameCharacter().coord.getX()) <= 2+entityWIDTH/2+getGameCharacter().entityWIDTH/2 && Math.abs(this.coord.getZ()-getGameCharacter().coord.getZ()) <= entityHEIGHT && characInFrontOf()) || isAttacking > 0){ //n'attaque que si perso pas invincible
             //si il n'est pas immobile il s'arrete
-            if (isAttacking <= 50){
+            if (isAttacking >= 50){
                 isAttacking++;
             }
             //sinon on cree l'attaque
diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java
index 79f951ebd833c38110276ac0dac5c7407d64f7e9..61bb1ed9bf06de66cc14184ec5c49bbf61b8503b 100644
--- a/MAVENProject/src/main/java/jeu/Painter.java
+++ b/MAVENProject/src/main/java/jeu/Painter.java
@@ -109,6 +109,8 @@ public class Painter implements GamePainter{
             crayon.drawImage(new ImageIcon(beginPath+"heart.png").getImage(), (int)hd.getX()-xCam-20, (int)hd.getZ()-zCam, null,null);
         }
     }
+
+
     private void drawObstacleBis(Graphics2D crayon, Obstacle obstacle, BufferedImage bufferedImage){
         ObstacleLoader loader = new ObstacleLoader(obstacle,bufferedImage);
         HitBox hitBox = loader.getObstacle().getHitbox();
diff --git a/MAVENProject/src/test/java/entity/CharacterTest.java b/MAVENProject/src/test/java/entity/CharacterTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..33c6065985663b52e769085cd7eaf00e2d32607f
--- /dev/null
+++ b/MAVENProject/src/test/java/entity/CharacterTest.java
@@ -0,0 +1,72 @@
+package entity;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import environnement.Coordonnees;
+import environnement.HitBox;
+import jeu.Jeu;
+import map.Coffre;
+import map.Obstacle;
+
+public class CharacterTest {
+
+    Character character;
+    Obstacle obstacleTest;
+    Monster monster;
+    Coffre coffreTest;
+
+    @BeforeClass
+    public void generateParameters(){
+        character = new Character(new Coordonnees(2,3), 100, 1, 50000);
+        obstacleTest = new Obstacle(new HitBox(new Coordonnees(10, 30),50,60));
+        monster = new Monster(new Coordonnees(20, 3), 100, 50, 60, 1, 1);
+        Jeu.getMonsterList().add(monster);
+        coffreTest = new Coffre(new HitBox(new Coordonnees(10, 30),50,60));
+        character.tableCommande.put("CommandX",(double) 1000);
+        character.tableCommande.put("CommandZ",(double) 1000000);
+        character.tableCommande.put("CommandAttack", (double) 1);
+    }
+    @Test
+    public void testAttaque() {
+        character.attaque();
+        assertTrue("monstre mort", monster.death());
+    }
+
+    @Test
+    public void testCollisionGestion() {
+        assertTrue("y a collision avec l obstacle", HitBox.collision(character.hitBox, obstacleTest.getHitbox()));
+        character.collisionGestion();
+        assertFalse("y a plus collision", HitBox.collision(character.hitBox, obstacleTest.getHitbox()));
+    }
+
+    @Test
+    public void testDeplacements() {
+        double x = character.getCoord().getX();
+        double z = character.getCoord().getZ();
+        character.deplacements();
+        assertNotEquals(x, character.getCoord().getX());
+        assertNotEquals(z, character.getCoord().getZ());
+    }
+
+
+    @Test
+    public void testKeyGestion() {
+        assertTrue("il a pas de cle", character.key==0);
+
+        character.keyGestion();
+        assertTrue("il a une cle", character.key==1);
+    }
+
+    @Test
+    public void testResetCommand() {
+        assertFalse("commandes non nulles", character.tableCommande.get("CommandX")==0 && character.tableCommande.get("CommandZ")==0 && character.tableCommande.get("CommandAttack")==0);
+        character.resetCommand();
+        assertTrue("commandes non nulles", character.tableCommande.get("CommandX")==0 && character.tableCommande.get("CommandZ")==0 && character.tableCommande.get("CommandAttack")==0);
+
+    }
+}