Add support for the DataWorker to check for and apply MatchWarningFlags and GameWarningFlags during automation checks. Implement the following as implementations of AutomationCheckBase<Match> and AutomationCheckBase<Game> respectively.
Matches
[x] Rename MatchNameCheck to MatchNamePrefixCheck
[x] Rename MatchRejectionReason.InvalidName to MatchRejectionReason.NamePrefixMismatch
[x] MatchNameFormatCheck: Check the title of the match against a regex ({T_ABR}: ({TEAM_A}) vs ({TEAM_B}) where {T_ABR} is the tournament's abbreviation. vs check should be loose and cover VSvs., and everything in between). Should it fail, apply UnexpectedTitleFormat to Match.WarningFlags.
[x] MatchGameCountWarningCheck: Check game count. If the game count is 3 or 4, apply LowGameCount to Match.WarningFlags.
Games
[x] GameBeatmapSingleUsageCheck: If a tournament does not have a stored mappool and the beatmap is used exactly once in the entire tournament, apply BeatmapUsedOnce to Game.WarningFlags.
[x] BeatmapNotPooled: If a Tournament's PooledBeatmaps collection does not contain the Game's Beatmap, mark the Game as Rejected with a RejectionReason of BeatmapNotPooled
Depends on #478
Add support for the DataWorker to check for and apply
MatchWarningFlags
andGameWarningFlags
during automation checks. Implement the following as implementations ofAutomationCheckBase<Match>
andAutomationCheckBase<Game>
respectively.Matches
MatchNameCheck
toMatchNamePrefixCheck
MatchRejectionReason.InvalidName
toMatchRejectionReason.NamePrefixMismatch
MatchNameFormatCheck
: Check the title of the match against a regex ({T_ABR}: ({TEAM_A}) vs ({TEAM_B})
where{T_ABR}
is the tournament's abbreviation.vs
check should be loose and coverVS
vs.
, and everything in between). Should it fail, applyUnexpectedTitleFormat
toMatch.WarningFlags
.MatchGameCountWarningCheck
: Check game count. If the game count is 3 or 4, applyLowGameCount
toMatch.WarningFlags
.Games
GameBeatmapSingleUsageCheck
: If a tournament does not have a stored mappool and the beatmap is used exactly once in the entire tournament, applyBeatmapUsedOnce
toGame.WarningFlags
.BeatmapNotPooled
: If aTournament
'sPooledBeatmaps
collection does not contain theGame
'sBeatmap
, mark theGame
asRejected
with aRejectionReason
ofBeatmapNotPooled
[x] Unit test all new automation checks