private void setUpParametersPageRangesPages() { PageRange firstRange = new PageRange(1, 1); PageRange secondRange = new PageRange(3); parameters = new ExtractPagesParameters(); parameters.addPageRange(firstRange); parameters.addPageRange(secondRange); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); parameters.setCompress(true); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addSource(shortInput()); }
@Test public void getPages() { ExtractPagesParameters victim = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); assertEquals(5, victim.getPages(10).size()); ExtractPagesParameters victim2 = new ExtractPagesParameters(); victim2.addPageRange(new PageRange(12)); assertEquals(4, victim2.getPages(15).size()); }
@Test public void testGetPageSelection() { ExtractPagesParameters victim = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); assertTrue(victim.getPageSelection().isEmpty()); ExtractPagesParameters victim2 = new ExtractPagesParameters(); victim2.addPageRange(new PageRange(12)); assertFalse(victim2.getPageSelection().isEmpty()); }
@Test public void extractPagesInvertedSelection() throws IOException { parameters = new ExtractPagesParameters(); parameters.setInvertSelection(true); parameters.addPageRange(new PageRange(7, 9)); parameters.addSource(customInput("pdf/test-pdf.pdf")); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); assertThat(parameters.getPages(11), is(new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6, 10, 11)))); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertPages(8); }
@Test public void testEquals() { ExtractPagesParameters eq1 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters eq2 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters eq3 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters diff = new ExtractPagesParameters(); diff.addPageRange(new PageRange(12)); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); }
private void setUpParametersWrongPageRanges() { PageRange range = new PageRange(10); parameters = new ExtractPagesParameters(); parameters.addPageRange(range); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); parameters.setCompress(true); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addSource(shortInput()); }
private void setUpParametersWithOutline() { parameters = new ExtractPagesParameters(); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); parameters.setCompress(true); parameters.setOptimizationPolicy(OptimizationPolicy.AUTO); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addPageRange(new PageRange(1, 3)); parameters.addSource(largeOutlineInput()); }
@Test public void extractWithForms() throws IOException { parameters = new ExtractPagesParameters(); parameters.addPageRange(new PageRange(1, 1)); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); parameters.setCompress(true); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addSource(formInput()); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertOutputSize(1); testContext.forEachPdfOutput(d -> { assertNotNull(d.getDocumentCatalog().getAcroForm()); }); } }
@Test public void extractMultipleFiles() throws IOException { parameters = new ExtractPagesParameters(); parameters.addPageRange(new PageRange(1, 2)); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); parameters.setCompress(true); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addSource(shortInput()); parameters.addSource(mediumInput()); testContext.directoryOutputTo(parameters); execute(parameters); testContext.assertOutputSize(2); testContext.forEachPdfOutput(d -> { assertEquals(d.getNumberOfPages(), 2); }); }