X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Ftest%2FConversionTest.java;h=0eb1eb04b95eef90cbd749901d673a966bee3144;hb=8958119f5e935859636d797df67cb34fb8a70875;hp=d932782e29756657ab29117fb0427c693267d145;hpb=c2f96f372ee98b3745ad0c7f1dbb1a81ad7c4a7d;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/test/ConversionTest.java b/src/be/nikiroo/fanfix/test/ConversionTest.java index d932782..0eb1eb0 100644 --- a/src/be/nikiroo/fanfix/test/ConversionTest.java +++ b/src/be/nikiroo/fanfix/test/ConversionTest.java @@ -1,29 +1,23 @@ package be.nikiroo.fanfix.test; import java.io.File; -import java.io.FileInputStream; import java.io.FilenameFilter; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.Main; import be.nikiroo.fanfix.output.BasicOutput; import be.nikiroo.utils.IOUtils; -import be.nikiroo.utils.TempFiles; import be.nikiroo.utils.TraceHandler; import be.nikiroo.utils.test.TestCase; import be.nikiroo.utils.test.TestLauncher; class ConversionTest extends TestLauncher { - private TempFiles tempFiles; private File testFile; private File expectedDir; private File resultDir; @@ -72,8 +66,6 @@ class ConversionTest extends TestLauncher { expectedDir = new File("test/expected/"); resultDir = new File("test/result/"); - tempFiles = new TempFiles("Fanfix-ConversionTest"); - skipCompare = new HashMap>(); skipCompare.put("epb.ncx", Arrays.asList(" resultFiles = Arrays.asList(resultDir.list(filter)); - resultFiles.sort(null); - List expectedFiles = Arrays.asList(expectedDir.list(filter)); - expectedFiles.sort(null); + List resultFiles; + List expectedFiles; + { + String[] resultArr = resultDir.list(filter); + Arrays.sort(resultArr); + resultFiles = Arrays.asList(resultArr); + String[] expectedArr = expectedDir.list(filter); + Arrays.sort(expectedArr); + expectedFiles = Arrays.asList(expectedArr); + } - testCase.assertEquals("The resulting file names are not expected", - expectedFiles, resultFiles); + testCase.assertEquals(errMess, expectedFiles, resultFiles); for (int i = 0; i < resultFiles.size(); i++) { File expected = new File(expectedDir, expectedFiles.get(i)); File result = new File(resultDir, resultFiles.get(i)); - testCase.assertEquals( - "Type mismatch: expected a " - + (expected.isDirectory() ? "directory" : "file") - + ", received a " - + (result.isDirectory() ? "directory" : "file"), + testCase.assertEquals(errMess + ": type mismatch: expected a " + + (expected.isDirectory() ? "directory" : "file") + + ", received a " + + (result.isDirectory() ? "directory" : "file"), expected.isDirectory(), result.isDirectory()); if (expected.isDirectory()) { - compareFiles(testCase, expected, result, null, sourceType); + compareFiles(testCase, expected, result, null, errMess); continue; } if (expected.getName().endsWith(".cbz") || expected.getName().endsWith(".epub")) { - File tmpExpected = tempFiles.createTempDir(expected.getName() + File tmpExpected = Test.tempFiles.createTempDir(expected + .getName() + "[zip-content]"); + File tmpResult = Test.tempFiles.createTempDir(result.getName() + "[zip-content]"); - File tmpResult = tempFiles.createTempDir(result.getName() - + "[zip-content]"); - unzip(expected, tmpExpected); - unzip(result, tmpResult); - compareFiles(testCase, tmpExpected, tmpResult, null, sourceType); + IOUtils.unzip(expected, tmpExpected); + IOUtils.unzip(result, tmpResult); + compareFiles(testCase, tmpExpected, tmpResult, null, errMess); } else { List expectedLines = Arrays.asList(IOUtils .readSmallFile(expected).split("\n")); @@ -223,6 +221,11 @@ class ConversionTest extends TestLauncher { + name.substring(expectedDir.getAbsolutePath() .length()); } + + testCase.assertEquals(errMess + ": " + name + + ": the number of lines is not the same", + expectedLines.size(), resultLines.size()); + for (int j = 0; j < expectedLines.size(); j++) { String expectedLine = expectedLines.get(j); String resultLine = resultLines.get(j); @@ -243,46 +246,11 @@ class ConversionTest extends TestLauncher { continue; } - testCase.assertEquals("Line " + (j + 1) + " (" + sourceType - + ") is not the same in file " + name, - expectedLine, resultLine); - } - } - } - } - - // TODO: remove and use IOUtils when updated - private static void unzip(File zipFile, File targetDirectory) - throws IOException { - if (targetDirectory.exists() && targetDirectory.isFile()) { - throw new IOException("Cannot unzip " + zipFile + " into " - + targetDirectory + ": it is not a directory"); - } - - targetDirectory.mkdir(); - if (!targetDirectory.exists()) { - throw new IOException("Cannot create target directory " - + targetDirectory); - } - - FileInputStream in = new FileInputStream(zipFile); - try { - ZipInputStream zipStream = new ZipInputStream(in); - try { - for (ZipEntry entry = zipStream.getNextEntry(); entry != null; entry = zipStream - .getNextEntry()) { - File file = new File(targetDirectory, entry.getName()); - if (entry.isDirectory()) { - file.mkdirs(); - } else { - IOUtils.write(zipStream, file); - } + testCase.assertEquals(errMess + ": line " + (j + 1) + + " is not the same in file " + name, expectedLine, + resultLine); } - } finally { - zipStream.close(); } - } finally { - in.close(); } } }