PdfMergeInput implements PageRangeSelection, PagesSelection, MergeInput { public void addPageRange(PageRange range) { pageSelection.add(range); } PdfMergeInput(PdfSource<?> source, Set<PageRange> pageSelection);  PdfMergeInput(PdfSource<?> source); PdfSource<?> getSource(); @Override Set<PageRange> getPageSelection(); void addPageRange(PageRange range); void addAllPageRanges(Collection<PageRange> ranges); boolean isAllPages(); @Override Set<Integer> getPages(int totalNumberOfPage); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object other);  }
@Test public void testEqual() { PageRange range = new PageRange(10); PdfMergeInput eq1 = new PdfMergeInput(source); eq1.addPageRange(range); PdfMergeInput eq2 = new PdfMergeInput(source); eq2.addPageRange(range); PdfMergeInput eq3 = new PdfMergeInput(source); eq3.addPageRange(range); PdfMergeInput diff = new PdfMergeInput(source); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); }