const PATRON_PHASES: &[(i64, &str)] = &[(0, "normal"), (1, "final"), (2, "shields_down")];
pub fn patron_phase_name(id: i64) -> &'static str {
PATRON_PHASES
.iter()
.find(|&&(k, _)| k == id)
.map(|&(_, v)| v)
.unwrap_or("PATRON_PHASE_NOT_FOUND")
}
pub fn all_patron_phases() -> &'static [(i64, &'static str)] {
PATRON_PHASES
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn known_phase_normal() {
assert_eq!(patron_phase_name(0), "normal");
}
#[test]
fn known_phase_final() {
assert_eq!(patron_phase_name(1), "final");
}
#[test]
fn known_phase_shields_down() {
assert_eq!(patron_phase_name(2), "shields_down");
}
#[test]
fn unknown_phase() {
assert_eq!(patron_phase_name(99), "PATRON_PHASE_NOT_FOUND");
}
#[test]
fn all_patron_phases_count() {
assert_eq!(all_patron_phases().len(), 3);
}
}