Coverage Summary for Class: EnemyStateTest (io.team9.game.tests.AI)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| EnemyStateTest | 100% (1/1) | 100% (3/3) | 100% (24/24) |
1 package io.team9.game.tests.AI; 2 import com.badlogic.gdx.ai.steer.behaviors.Wander; 3 import com.mygdx.game.Components.Pirate; 4 import com.mygdx.game.Entitys.NPCShip; 5 import com.mygdx.game.Entitys.Ship; 6 import com.mygdx.game.Managers.GameManager; 7 import com.mygdx.game.Managers.PhysicsManager; 8 import com.mygdx.game.Managers.ResourceManager; 9 import io.team9.game.tests.GdxTestRunner; 10 import org.junit.Test; 11 import org.junit.runner.RunWith; 12 import com.mygdx.game.AI.EnemyState; 13 import static org.junit.Assert.*; 14 @RunWith(GdxTestRunner.class) 15 public class EnemyStateTest { 16 17 @Test 18 public void wanderTest(){ 19 PhysicsManager.Initialize(); 20 GameManager.Initialize(); 21 NPCShip ship = new NPCShip(); 22 assertEquals("Ships should start in wander", EnemyState.WANDER,ship.stateMachine.getCurrentState()); 23 ship.getComponent(Pirate.class).addTarget(ship); 24 ship.stateMachine.update(); 25 assertEquals("Ships should pursue if agro", EnemyState.PURSUE,ship.stateMachine.getCurrentState()); 26 ship.getComponent(Pirate.class).removeTarget(); 27 ship.stateMachine.update(); 28 assertEquals("Ship should return to wander",EnemyState.WANDER,ship.stateMachine.getCurrentState()); 29 } 30 31 @Test 32 public void PuruseTest(){ 33 PhysicsManager.Initialize(); 34 GameManager.Initialize(); 35 36 int id_map = ResourceManager.addTileMap("Map.tmx"); 37 38 GameManager.SpawnGame(id_map); 39 NPCShip ship = new NPCShip(); 40 Ship target = new Ship(); 41 42 ship.getComponent(Pirate.class).addTarget(target); 43 ship.stateMachine.update(); 44 ship.stateMachine.update(); 45 assertEquals("Ships should attack", EnemyState.ATTACK,ship.stateMachine.getCurrentState()); 46 target.setHealth(0); 47 ship.stateMachine.update(); 48 assertEquals("Ship should return to wander",EnemyState.WANDER,ship.stateMachine.getCurrentState()); 49 50 } 51 }