summaryrefslogtreecommitdiff
path: root/rustlings/solutions/03_if/if2.rs
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-09-18 16:12:53 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-09-18 16:22:39 -0500
commit84c3c20d440f724cc08b8ef80e16379e84c64cdf (patch)
treec6745162467dc6245044cd1d6a55140e34eefdc5 /rustlings/solutions/03_if/if2.rs
parent226a48c93ad9ce05ae7b3075d5b4258eedef8d6e (diff)
rustlings: complete 03
Diffstat (limited to 'rustlings/solutions/03_if/if2.rs')
-rw-r--r--rustlings/solutions/03_if/if2.rs35
1 files changed, 33 insertions, 2 deletions
diff --git a/rustlings/solutions/03_if/if2.rs b/rustlings/solutions/03_if/if2.rs
index dcf2377..21c0dcd 100644
--- a/rustlings/solutions/03_if/if2.rs
+++ b/rustlings/solutions/03_if/if2.rs
@@ -1,4 +1,35 @@
+fn picky_eater(food: &str) -> &str {
+ if food == "strawberry" {
+ "Yummy!"
+ } else if food == "potato" {
+ "I guess I can eat that."
+ } else {
+ "No thanks!"
+ }
+}
+
fn main() {
- // DON'T EDIT THIS SOLUTION FILE!
- // It will be automatically filled after you finish the exercise.
+ // You can optionally experiment here.
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn yummy_food() {
+ assert_eq!(picky_eater("strawberry"), "Yummy!");
+ }
+
+ #[test]
+ fn neutral_food() {
+ assert_eq!(picky_eater("potato"), "I guess I can eat that.");
+ }
+
+ #[test]
+ 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!");
+ }
}