using System.Collections; using Core.Entities; using Core.Models; using Core.Parsers; using Core.Utility; namespace Tests.Parsers; public static class TestEntityHandler { private const string ContentDirectory = @"Parsers\TestInput\"; public static EventDefinition[] GetEvents() { var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2024 Event Definitions.csv"); var eventRankingsParser = new EventDefinitionParser(fileInfo); return eventRankingsParser.Parse(); } public static FileInfo GetEventOccurrenceNationalsFileInfo() { return FileUtility.GetContentFile(ContentDirectory, "2025 TSA Nationals Competition Event Times.txt"); } public static FileInfo GetEventOccurrenceStateFileInfo() { return FileUtility.GetContentFile(ContentDirectory, "2025 TN TSA State Competition Event Times.txt"); } public static FileInfo GetEventOccurrenceState2024FileInfo() { return FileUtility.GetContentFile(ContentDirectory, "2024 TN TSA State Competition Event Times.txt"); } public static Student[] GetStudents(IList events) { //var studentEventRankingsCsv = "Student Event Rankings.csv"; var studentEventRankingsCsv = "2024 Student Event Rankings.csv"; var fileInfo = FileUtility.GetContentFile(ContentDirectory, studentEventRankingsCsv); var eventRankingsParser = new StudentParser(fileInfo); return eventRankingsParser.Parse(); } public static Team[] GetTeams(IList events, IList students) { //var studentEventRankingsCsv = "Student Event Rankings.csv"; var studentEventRankingsCsv = "2024 Teams.csv"; var fileInfo = FileUtility.GetContentFile(ContentDirectory, studentEventRankingsCsv); var eventRankingsParser = new TeamParser(fileInfo); var teams = eventRankingsParser.Parse(events, students); foreach (var student in students) { student.Teams = teams.Where(t => t.Students.Contains(student)).ToList(); } return teams; } public static AssignmentRequirement[] GetEventRequirements(IList events, IList students) { var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2025 Assumptions.csv"); var assumptionParser = new AssignmentRequirementParser(fileInfo); return assumptionParser.Parse(events, students); } public static StudentEventRanking[] GetStudentEventRankings(Student[] students, EventDefinition[] events) { var fileInfo = FileUtility.GetContentFile(ContentDirectory, "2025 Student Event Rankings.csv"); var rankingParser = new StudentEventRankingParser(fileInfo); return rankingParser.Parse(students, events); } }