-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add additional check for findExamClashes() for non-identical start times #3560
Conversation
Date without Time, used for stricter exam clash comparison with time intervals
…on-identical start times
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@EssWhyy is attempting to deploy a commit to a Personal Account owned by @nusmodifications on Vercel. @nusmodifications first needs to authorize it. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #3560 +/- ##
==========================================
+ Coverage 53.20% 53.48% +0.27%
==========================================
Files 272 272
Lines 5885 5931 +46
Branches 1397 1408 +11
==========================================
+ Hits 3131 3172 +41
- Misses 2754 2759 +5 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @EssWhyy for getting this started! It's an important change and it's ready to land now with some algo changes + tests
Context
Fix issue #3449
Implementation
Per the discussion in the issue, I added in an extra check in findExamClashes() in timetables.ts. The steps for this check are as follows:
The result can be seen here for both test cases:
Other Information
The current exam clash warning text can only show one date & time, as such for two exams with different start times, I used the earlier start time for the warning text as a workaround for now.
The function could probably be less verbose and more efficient. But on testing my end, there are no major slowdowns on the performance when adding or deleting a typical number of modules to the timetable.