diff --git a/TrackTrendsTests/OcrImageTests.cs b/TrackTrendsTests/OcrImageTests.cs index 94a6546..345f63b 100644 --- a/TrackTrendsTests/OcrImageTests.cs +++ b/TrackTrendsTests/OcrImageTests.cs @@ -16,7 +16,28 @@ namespace TrackTrends.Tests [TestMethod()] public void LapTimeOCR_Test() { - Assert.Fail(); + string directory = @"./../../TestImages/LapTimes/"; + foreach (string file in Directory.GetFiles(directory)) + { + Bitmap image = (Bitmap)Image.FromFile(file); + DriverLapTimeWindow lapTimeWindow = new DriverLapTimeWindow(image,new Rectangle(0,0,image.Width,image.Height),true); + string[] paths = file.Split('/'); + string fileName = paths[paths.Length - 1]; + fileName = fileName.Replace(".png",""); + + int timeMS = (int)lapTimeWindow.DecodePng(); + string time = Reader.ConvertMsToTime(timeMS); + + string[] checkDigits = fileName.Split('_'); + string[] digitsToCheck = time.Split(':'); + + Assert.AreEqual(checkDigits.Length, digitsToCheck.Length); + + for(int i = 0; i < checkDigits.Length; i++) + { + Assert.AreEqual(checkDigits[i], digitsToCheck[i]); + } + } } [TestMethod()] public void PositionOCR_Test() @@ -26,7 +47,37 @@ namespace TrackTrends.Tests [TestMethod()] public void GapToLeaderOCR_Test() { - Assert.Fail(); + string directory = @"./../../TestImages/Gaps/"; + foreach (string file in Directory.GetFiles(directory)) + { + Bitmap image = (Bitmap)Image.FromFile(file); + DriverLapTimeWindow lapTimeWindow = new DriverLapTimeWindow(image, new Rectangle(0, 0, image.Width, image.Height), true); + string[] paths = file.Split('/'); + string fileName = paths[paths.Length - 1]; + fileName = fileName.Replace(".png", ""); + + int timeMS = (int)lapTimeWindow.DecodePng(); + string time = Reader.ConvertMsToTime(timeMS); + + string[] checkDigits = fileName.Split('_'); + string[] digitsToCheck = time.Split(':'); + + if (time == "0:00:000") + { + Assert.AreEqual(0, Convert.ToInt32(checkDigits[0])); + } + else + { + Assert.AreEqual(checkDigits.Length, digitsToCheck.Length); + + for (int i = 0; i < checkDigits.Length; i++) + { + if (checkDigits[i] != digitsToCheck[i]) + Console.Write("wut?"); + Assert.AreEqual(checkDigits[i], digitsToCheck[i]); + } + } + } } [TestMethod()] public void DRS_OCR_Test()