MoveDataManager extends EnemyDataManager<MoveEnemy> { @Override public void initRound() { super.initRound(); _currentHeading = _previousHeading = 0; _timeSinceReverseDirection = 0; _timeSinceVelocityChange = 0; _previousVelocity = _lastVelocity = _lastNonZeroVelocity = 0; _myStateLog.clear(); _firedBullets.clear(); } protected  MoveDataManager(int enemiesTotal, BattleField battleField,
      MovementPredictor predictor, Collection<RoboGraphic> renderables,
      OutputStream out); void execute(int round, long time, Point2D.Double myLocation,
      double heading, double velocity); @Override void initRound(); MoveEnemy newEnemy(ScannedRobotEvent e, Point2D.Double enemyLocation,
      double absBearing, int currentRound, boolean is1v1); MoveEnemy updateEnemy(ScannedRobotEvent e,
      Point2D.Double enemyLocation, double absBearing, int currentRound,
      boolean is1v1); void onHitByBullet(HitByBulletEvent e, int currentRound,
      long currentTime, boolean painting); void onBulletHitBullet(BulletHitBulletEvent e, int currentRound,
      long currentTime, boolean painting); void onBulletHit(BulletHitEvent e); void updateEnemyWaves(Point2D.Double myLocation,
      double previousEnemyEnergy, String botName, int currentRound,
      long currentTime, double myEnergy, double myHeading, double myVelocity,
      int wavesToSurf); RobotStateLog myStateLog(); void addFiredBullet(FiredBullet bullet);  }
@Test public void testInitRound() { MoveDataManager manager = newMoveDataManager(); manager.addFiredBullet(new FiredBullet(1, newLocation(), 0, 0)); manager.getMyStateLog().addState(RobotState.newBuilder() .setLocation(newLocation()) .setTime(1) .build()); manager.initRound(); assertTrue(manager.getFiredBullets().isEmpty()); assertTrue(manager.getMyStateLog().size() == 0); }