Add --progress option
Change-Id: I0d8a4c3243b30d5db1dc35aade1d6d9b66723d9a
diff --git a/src/test/java/de/ids_mannheim/korap/TestIndexer.java b/src/test/java/de/ids_mannheim/korap/TestIndexer.java
index ec26670..7b568ae 100644
--- a/src/test/java/de/ids_mannheim/korap/TestIndexer.java
+++ b/src/test/java/de/ids_mannheim/korap/TestIndexer.java
@@ -235,6 +235,64 @@
assertTrue(outputStream.toString().contains("Added or updated 6 files"));
}
+ @Test
+ public void testProgressOption () throws IOException {
+ java.io.PrintStream originalErr = System.err;
+ ByteArrayOutputStream errStream = new ByteArrayOutputStream();
+ System.setErr(new java.io.PrintStream(errStream));
+ try {
+ Indexer.main(new String[] { "-c", "src/test/resources/krill.properties",
+ "-i", "src/test/resources/bzk",
+ "-o", getTestOutputPath("test-progress-index"),
+ "--progress"});
+ }
+ finally {
+ System.err.flush();
+ System.setErr(originalErr);
+ }
+
+ String progressOutput = errStream.toString();
+ // Expect progress bar renders with bracketed bar, percentage, count, and ETA
+ assertTrue(progressOutput.contains("[==="));
+ assertTrue(progressOutput.contains("100.0%"));
+ assertTrue(progressOutput.contains("1/1"));
+ assertTrue(progressOutput.contains("ETA"));
+ }
+
+ @Test
+ public void testCountTargetFiles () throws Exception {
+ long nullCount = Indexer.countTargetFiles(null);
+ assertEquals(0L, nullCount);
+
+ long dirCount = Indexer.countTargetFiles(new String[] { "src/test/resources/bzk" });
+ assertEquals(1L, dirCount);
+
+ long zipCount = Indexer.countTargetFiles(new String[] { "src/test/resources/rei/rei_sample_krill.zip" });
+ assertEquals(3L, zipCount);
+
+ long tarCount = Indexer.countTargetFiles(new String[] { "src/test/resources/rei/rei_sample_krill.tar" });
+ assertEquals(3L, tarCount);
+
+ long tgzCount = Indexer.countTargetFiles(new String[] { "src/test/resources/rei/rei_sample_krill.tar.gz" });
+ assertEquals(3L, tgzCount);
+
+ long mixedZipTar = Indexer.countTargetFiles(new String[] {
+ "src/test/resources/rei/rei_sample_krill.zip",
+ "src/test/resources/rei/rei_sample_krill.tar" });
+ assertEquals(6L, mixedZipTar);
+
+ long mixedDirZip = Indexer.countTargetFiles(new String[] {
+ "src/test/resources/bzk",
+ "src/test/resources/rei/rei_sample_krill.zip" });
+ assertEquals(4L, mixedDirZip);
+
+ long mixedContentZip = Indexer.countTargetFiles(new String[] { "src/test/resources/rei/mixed_test.zip" });
+ assertEquals(2L, mixedContentZip);
+
+ long invalidZip = Indexer.countTargetFiles(new String[] { "src/test/resources/nonexistent.zip" });
+ assertEquals(0L, invalidZip);
+ }
+
@Before
public void setOutputStream () {
System.setOut(new PrintStream(outputStream));