fn animal_habitat(animal: &str) -> &str { let identifier = if animal == "crab" { 1 } else if animal == "gopher" { 2 } else if animal == "snake" { 3 } else { // Any unused identifier. 4 }; // Instead of such an identifier, you would use an enum in Rust. // But we didn't get into enums yet. if identifier == 1 { "Beach" } else if identifier == 2 { "Burrow" } else if identifier == 3 { "Desert" } else { "Unknown" } } fn main() { // You can optionally experiment here. } #[cfg(test)] mod tests { use super::*; #[test] fn gopher_lives_in_burrow() { assert_eq!(animal_habitat("gopher"), "Burrow") } #[test] fn snake_lives_in_desert() { assert_eq!(animal_habitat("snake"), "Desert") } #[test] fn crab_lives_on_beach() { assert_eq!(animal_habitat("crab"), "Beach") } #[test] fn unknown_animal() { assert_eq!(animal_habitat("dinosaur"), "Unknown") } }