summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMo <76752051+mo8it@users.noreply.github.com>2024-09-16 12:54:20 +0200
committerGitHub <noreply@github.com>2024-09-16 12:54:20 +0200
commit2894f3c45c650172beaf2faaf43b190834a3538e (patch)
treecea6cff5ba2f33fd3042bb825a6fc814af809fbc
parent1bae2dcb0019d579cdfe5a0c68a9e46780eea6dd (diff)
parentb540c6df253c1f528486bf4245da8eec66710684 (diff)
Merge pull request #2110 from senekor/remo/skkynvtqxkoz
Make if2 less confusing
-rw-r--r--exercises/03_if/if2.rs22
-rw-r--r--solutions/03_if/if2.rs26
2 files changed, 26 insertions, 22 deletions
diff --git a/exercises/03_if/if2.rs b/exercises/03_if/if2.rs
index 593a77a..10037f2 100644
--- a/exercises/03_if/if2.rs
+++ b/exercises/03_if/if2.rs
@@ -1,7 +1,7 @@
// TODO: Fix the compiler error on this function.
-fn foo_if_fizz(fizzish: &str) -> &str {
- if fizzish == "fizz" {
- "foo"
+fn picky_eater(food: &str) -> &str {
+ if food == "strawberry" {
+ "Yummy!"
} else {
1
}
@@ -18,18 +18,20 @@ mod tests {
use super::*;
#[test]
- fn foo_for_fizz() {
- // This means that calling `foo_if_fizz` with the argument "fizz" should return "foo".
- assert_eq!(foo_if_fizz("fizz"), "foo");
+ fn yummy_food() {
+ // This means that calling `picky_eater` with the argument "food" should return "Yummy!".
+ 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!");
}
}
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!");
}
}