### Question:
S2Coordinator { public static SettingsSyntax setup() { return new Builder(); } private  S2Coordinator(Builder builder); void setupPorts(int numberOfAgents, Supplier<Integer> portStart, boolean checkSingle); static SettingsSyntax setup(); S2Coordinator startGame(); S2Coordinator startGame(LocalMap localMap); S2Coordinator startGame(BattlenetMap battlenetMap); S2Coordinator createGame(); S2Coordinator createGame(LocalMap localMap); S2Coordinator createGame(BattlenetMap battlenetMap); S2Coordinator joinGame(); boolean update(); void leaveGame(); boolean allGamesEnded(); S2Coordinator saveReplayList(Path path); boolean hasReplays(); boolean remoteSaveMap(byte[] data, Path path); Path getExePath(); void quit(); static PlayerSettings createParticipant(Race race, S2Agent bot); static PlayerSettings createComputer(Race race, Difficulty difficulty); static PlayerSettings createParticipant(Race race, S2Agent bot, String playerName); static PlayerSettings createComputer(Race race, Difficulty difficulty, String playerName); static PlayerSettings createComputer(Race race, Difficulty difficulty, AiBuild aiBuild); static PlayerSettings createComputer(Race race, Difficulty difficulty, String playerName, AiBuild aiBuild); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenAgentListIsEmpty() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> S2Coordinator.setup().setParticipants().launchStarcraft()) .withMessage("one of agents or replay observers is required"); }