### Question:
Expedition { public ResultIndex exploreAndMerge(String url, String authString) throws URISyntaxException, InterruptedException { List<ResultIndex> indexes = explore(url, authString); ResultIndex resultIndex = new ResultIndex(); indexes.forEach(ri -> resultIndex.merge(ri)); return resultIndex; } Expedition(CloseableHttpClient httpClient, ResourceSyncContext rsContext); static URI createWellKnownUri(URI uri); static URI createRobotsUri(URI uri); List<ResultIndex> explore(String url, String authString); ResultIndex exploreAndMerge(String url, String authString);  }### Answer:
@Test public void listUrlLocations() throws Exception { String path = "/clariah/duck/soup"; setUpServer(path); String url = composePath(path); Expedition expedition = new Expedition(getHttpclient(), getRsContext()); ResultIndex index = expedition.exploreAndMerge(url, null); ResultIndexPivot pivot = new ResultIndexPivot((index)); List<String> locs = pivot.listUrlLocations(Capability.CAPABILITYLIST); String[] expectedLocs = new String[] { composePath("/clariah/duck/soup/resourcelist.xml"), composePath("/clariah/duck/soup/resourcedump.xml"), composePath("/clariah/duck/soup/changelist.xml"), composePath("/clariah/duck/soup/changedump.xml") }; assertThat(locs, hasItems(expectedLocs)); }