WaveManager { public void addWave(Wave wave) { _waves.add(wave); } WaveManager(); void initRound(); void addWave(Wave wave); void checkCurrentWaves(
      long currentTime, CurrentWaveListener listener); void forAllWaves(AllWaveListener listener); void checkActiveWaves(
      long currentTime, RobotState lastScanState, WaveBreakListener listener); Wave findClosestWave(Point2D.Double targetLocation, long currentTime,
      boolean onlyFiring, String botName, double bulletPower); Wave findSurfableWave(
      int surfIndex, RobotState targetState, WavePosition unsurfablePosition); Wave getPastWave(int x); Wave getWaveByFireTime(long fireTime); Wave interpolateWaveByFireTime(long fireTime, long currentTime,
      double sourceHeading, double sourceVelocity, RobotStateLog stateLog,
      BattleField battleField, MovementPredictor predictor); long getLastFireTime(); int size();  }
@Test public void testAddWave() { WaveManager waveManager = newWaveManager(); waveManager.addWave(mock(Wave.class)); }