mirror of
https://github.com/rust-lang/rustlings.git
synced 2026-01-11 21:29:18 +00:00
The reasoning here is pretty straightforward: you don't say "Hungry, if eat." That doesn't make sense. We want to get "foo" back if given "fizz", so it seems this makes far more sense as "Eat, if hungry," or in this case, return `foo_if_fizz` is given.
37 lines
665 B
Rust
37 lines
665 B
Rust
// if2.rs
|
|
|
|
// Step 1: Make me compile!
|
|
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
|
|
// Execute the command `rustlings hint if2` if you want a hint :)
|
|
|
|
// I AM NOT DONE
|
|
|
|
pub fn foo_if_fizz(fizzish: &str) -> &str {
|
|
if fizzish == "fizz" {
|
|
"foo"
|
|
} else {
|
|
1
|
|
}
|
|
}
|
|
|
|
// No test changes needed!
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn foo_for_fizz() {
|
|
assert_eq!(foo_if_fizz("fizz"), "foo")
|
|
}
|
|
|
|
#[test]
|
|
fn bar_for_fuzz() {
|
|
assert_eq!(foo_if_fizz("fuzz"), "bar")
|
|
}
|
|
|
|
#[test]
|
|
fn default_to_baz() {
|
|
assert_eq!(foo_if_fizz("literally anything"), "baz")
|
|
}
|
|
}
|