#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ScoreMode {
Complete,
CompleteNoScores,
TopScores,
}
impl ScoreMode {
pub fn needs_scores(self) -> bool {
matches!(self, ScoreMode::Complete | ScoreMode::TopScores)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn complete_needs_scores() {
assert!(ScoreMode::Complete.needs_scores());
}
#[test]
fn complete_no_scores_does_not_need_scores() {
assert!(!ScoreMode::CompleteNoScores.needs_scores());
}
#[test]
fn top_scores_needs_scores() {
assert!(ScoreMode::TopScores.needs_scores());
}
}