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 }