Commit Graph

28 Commits

Author SHA1 Message Date
poprhythm 6cd4418142 Update package references for Core, Tests, and WebApp projects
This commit updates the version of Google.OrTools in the Core project to 9.14.6206, and upgrades various testing packages in the Tests project to their latest versions, including Microsoft.NET.Test.Sdk (18.0.1), NUnit (4.4.0), NUnit3TestAdapter (6.1.0), NUnit.Analyzers (4.11.2), and coverlet.collector (6.0.4). Additionally, the MudBlazor package in the WebApp project is updated to version 8.15.0. These updates ensure compatibility with the latest features and improvements in the respective libraries.
2026-01-11 20:23:23 -05:00
poprhythm 45edcf5e5f Refactor event assignment structure and introduce new models for assignment parameters and requirements
This commit removes the obsolete EventAssignment class from Core.Entities and introduces new models in Core.Models, including AssignmentParameters, AssignmentRequirement, PartialTeam, and StudentEventStatistics. The changes enhance the organization of assignment-related data and improve the overall structure of the codebase. Additionally, several files have been updated to include references to the new Core.Models namespace, ensuring consistency across the application.
2026-01-10 18:36:52 -05:00
poprhythm ecd6173a44 Refactor event occurrence parsing to unify section header handling and event count tracking
This commit updates the EventOccurrenceParseResult and EventOccurrenceParserResult classes to consolidate the handling of skipped section headers and event counts into a single set of properties. The previous separate lists and counts for middle school and high school sections have been replaced with a unified approach, improving clarity and maintainability. Additionally, the EventOccurrenceParserService has been modified to reflect these changes, ensuring consistent behavior across the application. This refactor enhances the overall structure of the event parsing logic.
2026-01-10 18:19:16 -05:00
poprhythm bcd0acb480 Update EventOccurrenceParser to process all events when no school level is set
This commit modifies the EventOccurrenceParser to ensure that when no school level is specified, all events, including high school (HS) events, are processed without filtering. The logic for skipping events based on school level has been simplified, enhancing clarity and maintainability. Corresponding unit tests have been updated to reflect this change, ensuring that HS events are handled appropriately and not incorrectly skipped when no school level is designated.
2026-01-09 10:12:26 -05:00
poprhythm ea1a4a04ad Remove LocationParsingConfiguration and LocationPatternMatcher classes, along with related tests and UI components. Update EventOccurrenceParserService to include location validation logic, enhancing warning reporting for long locations and potential date/time patterns. Adjust appsettings and UI to reflect the removal of location parsing settings. 2026-01-09 09:10:22 -05:00
poprhythm 2eae3f205c Enhance event occurrence parsing to correctly skip high school events
This commit updates the EventOccurrenceParser to ensure that high school (HS) events are not incorrectly associated with middle school (MS) events during parsing. The logic now gracefully skips HS section headers, preventing any fuzzy matching from leading to incorrect associations. Additionally, a new unit test has been added to verify that HS occurrences are correctly excluded from MS event occurrences, ensuring the integrity of the parsing process.
2026-01-09 08:32:41 -05:00
poprhythm 19e5ef0675 Enhance event occurrence parsing to skip unmatched high school section headers
This commit introduces a new property to track skipped high school section headers in the EventOccurrenceParseResult and EventOccurrenceParserResult classes. The EventOccurrenceParser has been updated to gracefully skip HS section headers that do not match any event definitions, improving the parsing logic. Additionally, the LocationParsingConfiguration has been removed from the EventOccurrenceParser, simplifying its constructor. Unit tests have been updated to reflect these changes and ensure correct behavior during parsing.
2026-01-09 00:14:19 -05:00
poprhythm f916cfad6b Refactor event occurrence parsing by introducing modular components for improved maintainability
This commit restructures the EventOccurrenceParser by breaking down its functionality into modular components, including EventDefinitionResolver, LineClassifier, LocationPatternMatcher, SectionHeaderMatcher, TimeLocationParser, and TimeParser. This refactoring enhances code readability and maintainability, allowing for easier updates and testing. Additionally, the TextUtil class has been updated to include input sanitization methods. Comprehensive unit tests have been added to ensure the correctness of the new parsing logic and to validate the handling of various event occurrence scenarios.
2026-01-08 20:23:57 -05:00
poprhythm f32ce649cd Add Sprache package and enhance event occurrence parsing with new grammar rules 2026-01-08 08:23:31 -05:00
poprhythm 5fdd5fadba Enhance event occurrence parsing with new location patterns and improved issue handling
This commit updates the LocationParsingConfiguration to include additional location patterns such as "Exhibit Hall *", "Mtg. Room *", and "Online". The EventOccurrenceParser has been enhanced to better handle parsing issues, including skipping comment and continuation lines, and cleaning up location text. New methods for analyzing location parsing failures and categorizing issues have been added to improve reporting. Additionally, the UI has been updated to support larger input sizes for event occurrence text, ensuring a smoother user experience during data import.
2026-01-08 08:08:36 -05:00
poprhythm c937192496 Add tests for event occurrence parsing results for 2024 and 2025 competitions
This commit introduces new unit tests in EventOccurrenceParser_Tests to analyze and validate the parsing results for the 2025 Nationals, 2025 State, and 2024 State competitions. Each test verifies that the parser returns valid results without exceptions and provides detailed output on the total lines, occurrences parsed, and issues found. Additionally, a new method in TestEntityHandler has been added to retrieve the 2024 State competition event times file, supporting the new tests.
2026-01-07 08:37:00 -05:00
poprhythm 2d3b29176f Enhance event occurrence parsing with detailed issue reporting and location configuration
This commit introduces a new structure for handling parsing issues in the EventOccurrenceParser, allowing for detailed reporting of parsing problems such as unmatched lines, missing event definitions, and parsing failures for time, date, and location. A new ParsingIssue class has been added to encapsulate these details. Additionally, a LocationParsingConfiguration class has been implemented to support customizable location patterns, enhancing the flexibility of the parser. The EventOccurrenceParserService has been updated to utilize this configuration, and new tests have been added to ensure robust issue detection and reporting. Furthermore, the UI has been updated to display parsing issues, improving user feedback during the import process.
2026-01-06 23:08:42 -05:00
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
poprhythm 872a1cae64 Clean up test filenames 2025-12-27 10:29:07 -05:00
poprhythm dbe2b259f6 Clean up test data 2025-12-27 10:25:15 -05:00
poprhythm c77d2117cd Add testing for validation 2025-12-14 11:08:04 -05:00
poprhythm 1c38003027 Introduce unit testing on calculation objects 2025-12-02 20:06:05 -05:00
poprhythm 3461f94854 Refactor TeamScheduler, easier to read and maintain 2025-12-01 06:58:56 -05:00
poprhythm 72da28992f Team scheduler now considers all available students 2025-11-23 11:05:29 -05:00
poprhythm 0228abab01 Fix references for TeamSchedulerTest 2025-11-11 14:00:39 -05:00
poprhythm ea21406309 Meeting schedule updates
including copy to clipboard
2025-10-27 10:13:54 -04:00
poprhythm c42cc43399 Scheduler refinements 2025-10-20 12:03:46 -04:00
poprhythm dd8921f6fe Fix broken tests 2025-10-19 13:34:34 -04:00
poprhythm 688ca60511 Event definiteion updates 2025-09-26 11:33:25 -04:00
poprhythm dc83a18d76 Add Team functions 2025-09-22 12:53:46 -04:00
poprhythm 3daa3b81b3 Add Blazor WebApp and rework data handling to utilize Entity Framework 2025-09-11 11:49:48 -04:00
poprhythm d4c46ae0fe Fix a few unit tests 2025-08-15 11:05:38 -04:00
poprhythm cf32cfcbcd first commit 2025-08-01 14:10:44 -04:00