Make if2 less confusing

Some people would get stuck on this exercise, trying to understand the meaning
behind foo, fuzz, baz etc. Making the theme of the code make a little more sense
to humans should hopefully prevent people from getting confused by abstract and
non-sensical tests.
This commit is contained in:
Remo Senekowitsch 2024-09-14 09:48:26 +02:00
parent 47f8a0cbe5
commit b540c6df25
2 changed files with 26 additions and 22 deletions

View file

@ -1,7 +1,7 @@
// TODO: Fix the compiler error on this function. // TODO: Fix the compiler error on this function.
fn foo_if_fizz(fizzish: &str) -> &str { fn picky_eater(food: &str) -> &str {
if fizzish == "fizz" { if food == "strawberry" {
"foo" "Yummy!"
} else { } else {
1 1
} }
@ -18,18 +18,20 @@ mod tests {
use super::*; use super::*;
#[test] #[test]
fn foo_for_fizz() { fn yummy_food() {
// This means that calling `foo_if_fizz` with the argument "fizz" should return "foo". // This means that calling `picky_eater` with the argument "food" should return "Yummy!".
assert_eq!(foo_if_fizz("fizz"), "foo"); assert_eq!(picky_eater("strawberry"), "Yummy!");
} }
#[test] #[test]
fn bar_for_fuzz() { fn neutral_food() {
assert_eq!(foo_if_fizz("fuzz"), "bar"); assert_eq!(picky_eater("potato"), "I guess I can eat that.");
} }
#[test] #[test]
fn default_to_baz() { fn default_disliked_food() {
assert_eq!(foo_if_fizz("literally anything"), "baz"); assert_eq!(picky_eater("broccoli"), "No thanks!");
assert_eq!(picky_eater("gummy bears"), "No thanks!");
assert_eq!(picky_eater("literally anything"), "No thanks!");
} }
} }

View file

@ -1,10 +1,10 @@
fn foo_if_fizz(fizzish: &str) -> &str { fn picky_eater(food: &str) -> &str {
if fizzish == "fizz" { if food == "strawberry" {
"foo" "Yummy!"
} else if fizzish == "fuzz" { } else if food == "potato" {
"bar" "I guess I can eat that."
} else { } else {
"baz" "No thanks!"
} }
} }
@ -17,17 +17,19 @@ mod tests {
use super::*; use super::*;
#[test] #[test]
fn foo_for_fizz() { fn yummy_food() {
assert_eq!(foo_if_fizz("fizz"), "foo"); assert_eq!(picky_eater("strawberry"), "Yummy!");
} }
#[test] #[test]
fn bar_for_fuzz() { fn neutral_food() {
assert_eq!(foo_if_fizz("fuzz"), "bar"); assert_eq!(picky_eater("potato"), "I guess I can eat that.");
} }
#[test] #[test]
fn default_to_baz() { fn default_disliked_food() {
assert_eq!(foo_if_fizz("literally anything"), "baz"); assert_eq!(picky_eater("broccoli"), "No thanks!");
assert_eq!(picky_eater("gummy bears"), "No thanks!");
assert_eq!(picky_eater("literally anything"), "No thanks!");
} }
} }