Files
chapter-organizer/Tests/Parsers/TestEntityHandler.cs
T
poprhythm c462ed4561 Enhance event definitions and parsing logic for new event types
Added new event definitions for "Meet the Candidates", "Chapter Officer Meeting", "Voting Delegate Meeting", and "Social Gathering". Updated the EventOccurrenceParser to handle these new event types and modified related services and views to accommodate the changes. Improved test coverage for the new event definitions and ensured proper parsing and display in the calendar components.
2025-12-27 19:32:54 -05:00

71 lines
2.4 KiB
C#

using System.Collections;
using Core.Entities;
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 Student[] GetStudents(IList<EventDefinition> 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<EventDefinition> events, IList<Student> 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<EventDefinition> events, IList<Student> 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);
}
}