mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-25 23:10:30 +00:00
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:
parent
47f8a0cbe5
commit
b540c6df25
2 changed files with 26 additions and 22 deletions
|
@ -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!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue