### Question:
ChangeListBuilder { public List<String> retrieveChangeFileNames(Supplier<List<Integer>> versions) { List<String> changeFileNames = new ArrayList<>(); versions.get().stream().filter(x -> x != Integer.MAX_VALUE).collect(Collectors.toList()) .forEach(version -> { changeFileNames.add("changes" + version.toString() + ".nqud"); }); return changeFileNames; } ChangeListBuilder(String graph); List<String> retrieveChangeFileNames(Supplier<List<Integer>> versions); Stream<String> retrieveChanges(ChangesRetriever changesRetriever,
                                        Integer version);  }### Answer:
@Test public void retrieveChangeFilesNamesReturnsCorrectNamesBasedOnSuppliedVersions() { ChangeListBuilder changeListBuilder = new ChangeListBuilder("graph"); Supplier<List<Integer>> versionsSupplier = () -> Lists.newArrayList(1, 2); List<String> changeFileNames = changeListBuilder.retrieveChangeFileNames(versionsSupplier); assertThat(changeFileNames, contains("changes1.nqud", "changes2.nqud")); }