package de.ralfebert.imageassert; import static org.junit.Assert.assertEquals; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.List; import org.apache.commons.io.IOUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import de.ralfebert.imageassert.compare.Page; import de.ralfebert.imageassert.pageimage.IPdfImageSplitter; import de.ralfebert.imageassert.pageimage.ImageMagickSplitter; import de.ralfebert.imageassert.pageimage.PdfRendererImageSplitter; import de.ralfebert.imageassert.utils.Colocated; import de.ralfebert.imageassert.utils.TemporaryFolder; @RunWith(Parameterized.class) public class PdfToPageImageConverterTest { private TemporaryFolder tempFolder; private final IPdfImageSplitter converter; public PdfToPageImageConverterTest(IPdfImageSplitter converter) { super(); this.converter = converter; } @Parameters public static List<Object[]> parameters() { return Arrays.asList(new Object[][] { { new ImageMagickSplitter() }, { new PdfRendererImageSplitter() } }); } @Before public void setup() { tempFolder = new TemporaryFolder(this); } @After public void teardown() { tempFolder.dispose(); } @Test public void testConvert() throws FileNotFoundException, IOException { converter.setTemporaryFolder(tempFolder); File file = tempFolder.createFile("123.pdf"); IOUtils.copy(Colocated.toStream(this, "123.pdf"), new FileOutputStream(file)); Page[] pages = converter.convert(file); assertEquals("page count", 3, pages.length); } }