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;
}