### Question:
Game { public void startGame(int difficultLevel) { this.board.init(difficultLevel); int rowPosition = 0; int columnPosition = 0; int userNumbers = 0; for (int i = 0; i < this.randomInputCharacters + this.inputsPlayers.size(); i++) { if (columnPosition >= this.board.getSize()) { rowPosition++; columnPosition = 0; } if (i < this.randomInputCharacters) { SimpleBlockingQueue<Cell> input = new SimpleBlockingQueue<>(); this.allThreads[threadPosition] = new Thread( new Character(this.board, new Cell(rowPosition, columnPosition++), input) ); this.allThreads[threadPosition++].start(); this.allThreads[threadPosition] = new Thread(new RandomInput(input, 1000)); this.allThreads[threadPosition++].start(); } else { this.allThreads[threadPosition] = new Thread( new Character(this.board, new Cell( rowPosition, columnPosition++), this.inputsPlayers.get(userNumbers++) ) ); this.allThreads[threadPosition++].start(); } } } Game(int boardSize, int randomInputCharacters, List<SimpleBlockingQueue<Cell>> inputsPlayers); void startGame(int difficultLevel); void stopGame();  }### Answer:
@Test public void startGame() { List<SimpleBlockingQueue<Cell>> userInputs = new ArrayList<>(); SimpleBlockingQueue<Cell> testUserInput = new SimpleBlockingQueue<>(); userInputs.add(testUserInput); new Thread(new RandomInput(testUserInput, 200)).start(); Game testGame = new Game(10, 2, userInputs); testGame.startGame(1); try { Thread.sleep(20000); } catch (InterruptedException e) { e.printStackTrace(); } testGame.stopGame(); }