public virtual void TestEventCountingPdfEvent() { MultiThreadingTest.TestEventCounter eventCounter = new MultiThreadingTest.TestEventCounter(); IEventCounterFactory factory = new SimpleEventCounterFactory(eventCounter); EventCounterHandler.GetInstance().Register(factory); try { int n = 16; IMetaInfo metainfo = new TestMetaInfo(); Thread[] threads = new Thread[n]; for (int i = 0; i < n; i++) { // We do not use Runnable as the variable's type because of porting issues DoImageOcrRunnable runnable = new DoImageOcrRunnable(tesseractReader, metainfo, new FileInfo(sourceFolder + "numbers_01.jpg"), new FileInfo(destinationFolder + "ocr-result-" + (i + 1) + ".txt"), 0 == i % 2); threads[i] = GetThread(runnable); } for (int i = 0; i < n; i++) { threads[i].Start(); } for (int i = 0; i < n; i++) { threads[i].Join(); } NUnit.Framework.Assert.AreEqual(n, eventCounter.GetEvents().Count); int expectedPdfEvents = n / 2; int expectedImageEvents = n - expectedPdfEvents; int foundPdfEvents = 0; int foundImageEvents = 0; for (int i = 0; i < n; i++) { if (PdfOcrTesseract4Event.TESSERACT4_IMAGE_TO_PDF == eventCounter.GetEvents()[i]) { foundPdfEvents++; } else { if (PdfOcrTesseract4Event.TESSERACT4_IMAGE_OCR == eventCounter.GetEvents()[i]) { foundImageEvents++; } } NUnit.Framework.Assert.AreEqual(metainfo, eventCounter.GetMetaInfos()[i]); } NUnit.Framework.Assert.AreEqual(expectedImageEvents, foundImageEvents); NUnit.Framework.Assert.AreEqual(expectedPdfEvents, foundPdfEvents); } finally { EventCounterHandler.GetInstance().Unregister(factory); } }
protected virtual void ManipulatePdf() { // Implement and register custom factory IEventCounterFactory myCounterFactory = new SimpleEventCounterFactory(new ToLogCounter(UnknownContext.PERMISSIVE)); EventCounterHandler.GetInstance().Register(myCounterFactory); // Generate 2 events by creating 2 pdf documents for (int i = 0; i < 2; i++) { CreatePdf(); } EventCounterHandler.GetInstance().Unregister(myCounterFactory); }
public virtual void TestEventCountingSeveralImagesOneImageToPdfEvent() { String imgPath = TEST_IMAGES_DIRECTORY + "numbers_01.jpg"; FileInfo file = new FileInfo(imgPath); EventCountingTest.TestEventCounter eventCounter = new EventCountingTest.TestEventCounter(); IEventCounterFactory factory = new SimpleEventCounterFactory(eventCounter); EventCounterHandler.GetInstance().Register(factory); try { DoImageToPdfOcr(tesseractReader, JavaUtil.ArraysAsList(file, file)); NUnit.Framework.Assert.AreEqual(1, eventCounter.GetEvents().Count); NUnit.Framework.Assert.AreSame(PdfOcrTesseract4Event.TESSERACT4_IMAGE_TO_PDF, eventCounter.GetEvents()[0]); NUnit.Framework.Assert.IsNull(eventCounter.GetMetaInfos()[0]); } finally { EventCounterHandler.GetInstance().Unregister(factory); } }
public virtual void TestEventCountingCustomMetaInfoError() { String imgPath = TEST_IMAGES_DIRECTORY + "numbers_101.jpg"; FileInfo file = new FileInfo(imgPath); EventCountingTest.TestEventCounter eventCounter = new EventCountingTest.TestEventCounter(); IEventCounterFactory factory = new SimpleEventCounterFactory(eventCounter); EventCounterHandler.GetInstance().Register(factory); IMetaInfo metaInfo = new TestMetaInfo(); try { tesseractReader.SetThreadLocalMetaInfo(metaInfo); DoImageToPdfOcr(tesseractReader, JavaUtil.ArraysAsList(file)); } finally { NUnit.Framework.Assert.AreEqual(metaInfo, tesseractReader.GetThreadLocalMetaInfo()); EventCounterHandler.GetInstance().Unregister(factory); tesseractReader.SetThreadLocalMetaInfo(null); } }
public virtual void TestEventCountingImageEventCustomMetaInfo() { String imgPath = TEST_IMAGES_DIRECTORY + "numbers_01.jpg"; FileInfo file = new FileInfo(imgPath); EventCountingTest.TestEventCounter eventCounter = new EventCountingTest.TestEventCounter(); IEventCounterFactory factory = new SimpleEventCounterFactory(eventCounter); EventCounterHandler.GetInstance().Register(factory); try { tesseractReader.SetThreadLocalMetaInfo(new TestMetaInfo()); DoImageOcr(tesseractReader, file); NUnit.Framework.Assert.AreEqual(1, eventCounter.GetEvents().Count); NUnit.Framework.Assert.AreSame(PdfOcrTesseract4Event.TESSERACT4_IMAGE_OCR, eventCounter.GetEvents()[0]); NUnit.Framework.Assert.IsTrue(eventCounter.GetMetaInfos()[0] is TestMetaInfo); } finally { EventCounterHandler.GetInstance().Unregister(factory); tesseractReader.SetThreadLocalMetaInfo(null); } }