2020-05-01 04:17:17 +00:00
|
|
|
// if2.rs
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
2020-05-01 04:17:17 +00:00
|
|
|
// Step 1: Make me compile!
|
|
|
|
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
2022-07-12 09:10:08 +00:00
|
|
|
// Execute `rustlings hint if2` or use the `hint` watch subcommand for a hint.
|
2020-05-01 04:17:17 +00:00
|
|
|
|
2022-02-20 15:15:56 +00:00
|
|
|
pub fn foo_if_fizz(fizzish: &str) -> &str {
|
2020-05-01 04:17:17 +00:00
|
|
|
if fizzish == "fizz" {
|
|
|
|
"foo"
|
2024-01-20 04:25:25 +00:00
|
|
|
} else if fizzish == "fuzz" {
|
|
|
|
"bar"
|
2020-05-01 04:17:17 +00:00
|
|
|
} else {
|
2024-01-20 04:25:25 +00:00
|
|
|
"baz"
|
2020-05-01 04:17:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// No test changes needed!
|
|
|
|
#[cfg(test)]
|
|
|
|
mod tests {
|
|
|
|
use super::*;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn foo_for_fizz() {
|
2022-02-20 15:15:56 +00:00
|
|
|
assert_eq!(foo_if_fizz("fizz"), "foo")
|
2020-05-01 04:17:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn bar_for_fuzz() {
|
2022-02-20 15:15:56 +00:00
|
|
|
assert_eq!(foo_if_fizz("fuzz"), "bar")
|
2020-05-01 04:17:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn default_to_baz() {
|
2022-02-20 15:15:56 +00:00
|
|
|
assert_eq!(foo_if_fizz("literally anything"), "baz")
|
2020-05-01 04:17:17 +00:00
|
|
|
}
|
|
|
|
}
|