@Test public void moveToFileOrDirSingleFile() throws TaskOutputVisitException, IOException { File out = folder.newFile(); assertEquals(0, out.length()); Path outFile = Files.createTempFile("sejda", ".tmp"); Files.write(outFile, new byte[] { 0, 1, 1, 1 }); DefaultMultipleOutputWriter victim = new DefaultMultipleOutputWriter(ExistingOutputPolicy.OVERWRITE, context); victim.addOutput(FileOutput.file(outFile.toFile()).name("out.pdf")); new FileOrDirectoryTaskOutput(out).accept(victim); assertEquals(4, out.length()); Files.deleteIfExists(outFile); } }
@Test public void moveToFileOrDirExsistingRenamed() throws TaskOutputVisitException, IOException { File outFile = folder.newFile(); DefaultMultipleOutputWriter victim = new DefaultMultipleOutputWriter(ExistingOutputPolicy.RENAME, context); victim.addOutput(FileOutput.file(folder.newFile()).name(outFile.getName())); new FileOrDirectoryTaskOutput(outFile.getParentFile()).accept(victim); assertEquals(2, outFile.getParentFile().list().length); }
@Test(expected = TaskOutputVisitException.class) public void moveToFileDirExsisting() throws TaskOutputVisitException, IOException { File outFile = folder.newFile(); DefaultMultipleOutputWriter victim = new DefaultMultipleOutputWriter(ExistingOutputPolicy.FAIL, context); victim.addOutput(FileOutput.file(outFile).name(outFile.getName())); new FileOrDirectoryTaskOutput(outFile.getParentFile()).accept(victim); }
@Test(expected = TaskOutputVisitException.class) public void failOnFileOrDir() throws TaskOutputVisitException, IOException { DefaultSingleOutputWriter victim = new DefaultSingleOutputWriter(ExistingOutputPolicy.OVERWRITE, context); new FileOrDirectoryTaskOutput(folder.newFolder()).accept(victim); }
@Test public void moveToFileOrDir() throws TaskOutputVisitException, IOException { File out = folder.newFolder(); DefaultMultipleOutputWriter victim = new DefaultMultipleOutputWriter(ExistingOutputPolicy.OVERWRITE, context); victim.addOutput(FileOutput.file(folder.newFile()).name("out.pdf")); new FileOrDirectoryTaskOutput(out).accept(victim); assertEquals(1, out.list().length); }
@Test(expected = TaskOutputVisitException.class) public void moveToFileOrDirInvalidOut() throws TaskOutputVisitException, IOException { DefaultMultipleOutputWriter victim = new DefaultMultipleOutputWriter(ExistingOutputPolicy.RENAME, context); victim.addOutput(FileOutput.file(folder.newFile()).name("a")); victim.addOutput(FileOutput.file(folder.newFile()).name("b")); new FileOrDirectoryTaskOutput(folder.newFile()).accept(victim); }