@Override public MergeParameters build() { MergeParameters params = new MergeParameters(); params.setCompress(isCompress()); params.setExistingOutputPolicy(existingOutput()); params.setVersion(getVersion()); inputs.forEach(params::addInput); params.setOutlinePolicy(outlinePolicy); params.setBlankPageIfOdd(blankIfOdd); params.setAcroFormPolicy(formsPolicy); params.setTableOfContentsPolicy(tocPolicy); params.setOutput(output); params.setFilenameFooter(footer); params.setNormalizePageSizes(normalize); return params; }
@Test public void testInvalidParametersNullSource() { MergeParameters victim = new MergeParameters(); victim.setOutput(output); victim.addInput(new PdfMergeInput(null)); TestUtils.assertInvalidParameters(victim); }
@Test public void testInvalidParametersInvalidRange() { MergeParameters victim = new MergeParameters(); victim.setOutput(output); InputStream stream = mock(InputStream.class); PdfSource<InputStream> input = PdfStreamSource.newInstanceNoPassword(stream, "name"); PdfMergeInput mergeInput = new PdfMergeInput(input); PageRange range = new PageRange(3, 2); mergeInput.addPageRange(range); victim.addInput(mergeInput); TestUtils.assertInvalidParameters(victim); }
@Test public void testInvalidParametersIntersectingRanges() { MergeParameters victim = new MergeParameters(); victim.setOutput(output); InputStream stream = mock(InputStream.class); PdfSource<InputStream> input = PdfStreamSource.newInstanceNoPassword(stream, "name"); PdfMergeInput mergeInput = new PdfMergeInput(input); PageRange range1 = new PageRange(1, 20); PageRange range2 = new PageRange(10, 30); mergeInput.addPageRange(range1); mergeInput.addPageRange(range2); victim.addInput(mergeInput); TestUtils.assertInvalidParameters(victim); } }