From 170bb4bba001a47da1b3fd3534467b558b132bf2 Mon Sep 17 00:00:00 2001 From: MarcUs7i Date: Thu, 12 Sep 2024 19:22:02 +0200 Subject: [PATCH] All methods done and unit tests all green. --- EM-Qual/QualData.cs | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/EM-Qual/QualData.cs b/EM-Qual/QualData.cs index 09e4072..010a23b 100644 --- a/EM-Qual/QualData.cs +++ b/EM-Qual/QualData.cs @@ -26,8 +26,32 @@ public static class QualData /// An array containing parsed match data records public static Match[] ReadMatchesFromFile(string filePath) { - // TODO - return []; + if (!File.Exists(filePath)) + { + return Array.Empty(); + } + + string[] lines = File.ReadAllLines(filePath); + lines = lines.Skip(1).ToArray(); + if (lines.Length == 0) + { + return Array.Empty(); + } + + //using lists to avoid resizing the array (Programmers are lazy) + var matches = new List(); + foreach (var line in lines) + { + if (TryParseMatch(line, out Match? match)) + { + matches.Add(match!); + } + else + { + return Array.Empty(); + } + } + return matches.ToArray(); } /// @@ -79,7 +103,7 @@ public static class QualData { foreach (var possibleValue in possibleValues) { - if (possibleValue.ToLower() == value.ToLower()) + if (string.Equals(possibleValue, value, StringComparison.InvariantCultureIgnoreCase)) { return true; }