@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); } }
/** * Transforms {@link MergeTaskCliArguments} to {@link MergeParameters} * * @param taskCliArguments * @return populated task parameters */ @Override public MergeParameters toTaskParameters(MergeTaskCliArguments taskCliArguments) { MergeParameters parameters = new MergeParameters(); parameters.setAcroFormPolicy(taskCliArguments.getAcroForms().getEnumValue()); parameters.setBlankPageIfOdd(taskCliArguments.isAddBlanks()); parameters.setOutlinePolicy(taskCliArguments.getBookmarks().getEnumValue()); parameters.setTableOfContentsPolicy(taskCliArguments.getToc().getEnumValue()); parameters.setFilenameFooter(taskCliArguments.getFooter()); populateAbstractParameters(parameters, taskCliArguments); populateOutputTaskParameters(parameters, taskCliArguments); MultiplePdfMergeInputAdapter mergeInputsAdapter = extractPdfMergeInputs(taskCliArguments); for (PdfMergeInput eachMergeInput : mergeInputsAdapter.getPdfMergeInputs()) { parameters.addInput(eachMergeInput); } return parameters; }