summaryrefslogtreecommitdiff
path: root/solutions/03_if
diff options
context:
space:
mode:
authorRemo Senekowitsch <remo@buenzli.dev>2024-09-14 09:48:26 +0200
committerRemo Senekowitsch <remo@buenzli.dev>2024-09-14 10:03:52 +0200
commitb540c6df253c1f528486bf4245da8eec66710684 (patch)
treec02d85fd202636f0dd1d72d2e7aaf6816b11659c /solutions/03_if
parent47f8a0cbe502654ec09a6865cc82fe9330580ce1 (diff)
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.
Diffstat (limited to 'solutions/03_if')
-rw-r--r--solutions/03_if/if2.rs26
1 files changed, 14 insertions, 12 deletions
diff --git a/solutions/03_if/if2.rs b/solutions/03_if/if2.rs
index 440bba0..21c0dcd 100644
--- a/solutions/03_if/if2.rs
+++ b/solutions/03_if/if2.rs
@@ -1,10 +1,10 @@
-fn foo_if_fizz(fizzish: &str) -> &str {
- if fizzish == "fizz" {
- "foo"
- } else if fizzish == "fuzz" {
- "bar"
+fn picky_eater(food: &str) -> &str {
+ if food == "strawberry" {
+ "Yummy!"
+ } else if food == "potato" {
+ "I guess I can eat that."
} else {
- "baz"
+ "No thanks!"
}
}
@@ -17,17 +17,19 @@ mod tests {
use super::*;
#[test]
- fn foo_for_fizz() {
- assert_eq!(foo_if_fizz("fizz"), "foo");
+ fn yummy_food() {
+ assert_eq!(picky_eater("strawberry"), "Yummy!");
}
#[test]
- fn bar_for_fuzz() {
- assert_eq!(foo_if_fizz("fuzz"), "bar");
+ fn neutral_food() {
+ assert_eq!(picky_eater("potato"), "I guess I can eat that.");
}
#[test]
- fn default_to_baz() {
- assert_eq!(foo_if_fizz("literally anything"), "baz");
+ fn default_disliked_food() {
+ assert_eq!(picky_eater("broccoli"), "No thanks!");
+ assert_eq!(picky_eater("gummy bears"), "No thanks!");
+ assert_eq!(picky_eater("literally anything"), "No thanks!");
}
}