### Question:
ChangesResultWrapper { public Map<String, List<String>> openRevisions(int start, int end) { Misc.checkArgument(start >= 0, "Start position must be greater or equal to zero."); Misc.checkArgument(end > start, "End position must be greater than start."); Misc.checkArgument(end <= this.size(), "End position must be less than or equal to the " + "changes feed size."); ValueListMap<String, String> openRevisions = new ValueListMap<String, String>(); for(int i = start; i < end ; i ++) { ChangesResult.Row row = this.getResults().get(i); List<ChangesResult.Row.Rev> revisions = row.getChanges(); Set<String> openRevs = new HashSet<String>(revisions.size()); for(ChangesResult.Row.Rev rev : revisions) { openRevs.add(rev.getRev()); } openRevisions.addValuesToKey(row.getId(), openRevs); } return openRevisions; } ChangesResultWrapper(ChangesResult changes); int size(); Object getLastSeq(); List<ChangesResult.Row> getResults(); Map<String, List<String>> openRevisions(int start, int end);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void openRevisions_invalidIndexMinusOne_exception() throws Exception { ChangesResult data = getChangeResultFromFile(TestUtils.loadFixture("fixture/change_feed_0.json")); ChangesResultWrapper changes = new ChangesResultWrapper(data); changes.openRevisions(-1, 2); }