1const TEAMS: &[(i64, &str)] = &[(1, "Spectator"), (2, "Hidden King"), (3, "Archmother")];
7
8pub fn team_name(id: i64) -> &'static str {
10 TEAMS
11 .iter()
12 .find(|&&(k, _)| k == id)
13 .map(|&(_, v)| v)
14 .unwrap_or("TEAM_NOT_FOUND")
15}
16
17pub fn all_teams() -> &'static [(i64, &'static str)] {
19 TEAMS
20}
21
22#[cfg(test)]
23mod tests {
24 use super::*;
25
26 #[test]
27 fn known_team_spectator() {
28 assert_eq!(team_name(1), "Spectator");
29 }
30
31 #[test]
32 fn known_team_hidden_king() {
33 assert_eq!(team_name(2), "Hidden King");
34 }
35
36 #[test]
37 fn known_team_archmother() {
38 assert_eq!(team_name(3), "Archmother");
39 }
40
41 #[test]
42 fn unknown_team() {
43 assert_eq!(team_name(99), "TEAM_NOT_FOUND");
44 }
45
46 #[test]
47 fn all_teams_count() {
48 assert_eq!(all_teams().len(), 3);
49 }
50}