### Question:
ReplaySettings { public ReplaySettings setReplayPath(Path replayPath) throws IOException { require("replay path", replayPath); replayFiles.clear(); if (replayPath.toFile().isDirectory()) { try (Stream<Path> files = Files.walk(replayPath)) { replayFiles.addAll(files.filter(p -> !Files.isDirectory(p)).collect(Collectors.toList())); } } else if (replayPath.toString().endsWith(SC2_REPLAY_EXTENSION)) { replayFiles.add(replayPath.toAbsolutePath()); } return this; }  ReplaySettings setReplayRecovery(boolean replayRecovery); boolean isReplayRecovery(); ReplaySettings setReplayPath(Path replayPath); ReplaySettings loadReplayList(Path path); List<Path> getReplayFiles(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionIfEmptyPathIsProvided() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> new ReplaySettings().setReplayPath(null)) .withMessage("replay path is required"); }