GunDataManager extends EnemyDataManager<GunEnemy> { @Override public void initRound() { super.initRound(); _lastBulletFiredTime = 0; _victoryGraphics.clear(); } GunDataManager(int enemiesTotal, BattleField battleField,
      MovementPredictor predictor, Collection<RoboGraphic> renderables,
      OutputStream out); @Override void initRound(); void execute(int currentRound, long currentTime, double bulletPower,
      double currentGunHeat, Point2D.Double myLocation, boolean is1v1,
      boolean painting); GunEnemy newEnemy(ScannedRobotEvent e, Point2D.Double enemyLocation,
      double absBearing, int currentRound, boolean is1v1); GunEnemy updateEnemy(ScannedRobotEvent e, Point2D.Double enemyLocation,
      double absBearing, int currentRound, boolean is1v1); void onBulletHit(BulletHitEvent e, long currentTime); void onBulletHitBullet(BulletHitBulletEvent e, long currentTime); double getDamageGiven(); double getAverageEnergy(); void markFiringWaves(long currentTime, boolean is1v1); void fireNextTickWave(Point2D.Double myNextLocation,
      Point2D.Double targetLocation, String targetName, int currentRound,
      long currentTime, double bulletPower, double myEnergy, double gunHeat,
      double myHeading, double myVelocity, int enemiesAlive); void addListener(GunDataListener listener); int getEnemiesTotal(); int getDuelDataSize(); void drawVictory(long startTime);  }
@Test public void testInitRound() { GunDataManager gdm = newGunDataManager(3); GunEnemy shadowData = gdm.newEnemy(_shadowSre, _enemyLocation, 0, 1, false); shadowData.alive = false; GunEnemy phoenixData = gdm.newEnemy(_phoenixSre, _enemyLocation, 0, 1, false); GunEnemy portiaData = gdm.newEnemy(_portiaSre, _enemyLocation, 0, 1, false); portiaData.alive = false; portiaData.setRobotState(RobotState.newBuilder() .setLocation(new Point2D.Double(50, 90)) .setTime(1) .build()); gdm.initRound(); assertTrue(shadowData.alive); assertTrue(phoenixData.alive); assertTrue(portiaData.alive); assertTrue(shadowData.stateLog.size() == 0); assertTrue(phoenixData.stateLog.size() == 0); assertTrue(portiaData.stateLog.size() == 0); }
@Test public void testInitRoundNone() { GunDataManager gdm = newGunDataManager(); gdm.initRound(); }