public void OcrSimpleOcrTest()
{
// Init Drive and a Checker (Hashmap)
var relpath = Path.Combine(Dir.OcrDirectory, Dir.OcrSimple);
var fullpath = Path.Combine(Drive.GetDriveRoot(), relpath);
var checker = Helpers.BuildChecker(Path.Combine(fullpath, Helpers.CheckFile));
var drive = new Drive(relpath, Drive.Reason.Read);
// Init Correct List
var correct = new List<bool>(drive.FileCount("snip"));
// Scan each snippet, check if they are substrings, save result in correct
foreach (var file in drive.Files("snip"))
{
var img = new Bitmap(file);
var filename = Path.GetFileName(file);
var ocrdata = OCR.Recognize(img);
Assert.IsTrue(filename != null);
Assert.IsTrue(checker[filename] != null);
var isCorrect = ocrdata.Text.ToLower().Contains(checker[filename].ToLower());
correct.Add(isCorrect);
Console.WriteLine("-------------------------------------------");
Console.WriteLine("CORRECT: " + isCorrect);
Console.WriteLine("OCR: " + OCR.StripNewLine(ocrdata.Text));
Console.WriteLine("REAL: " + checker[filename].ToLower());
Console.WriteLine("COST: " + ocrdata.Cost);
Console.WriteLine();
}
// Ensure that all the OCR scans were correct
Assert.IsTrue(correct.All(x => x));
}