Compare commits

..

4 commits

Author SHA1 Message Date
Mo 64b2f18d92
Merge pull request #2103 from senekor/senk/kvuzvzqqkskk
Remove redundant enum definition task
2024-09-16 12:56:28 +02:00
Mo 2894f3c45c
Merge pull request #2110 from senekor/remo/skkynvtqxkoz
Make if2 less confusing
2024-09-16 12:54:20 +02:00
Remo Senekowitsch b540c6df25 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.
2024-09-14 10:03:52 +02:00
Remo Senekowitsch 9a25309c1c Remove redundant enum definition task
The exercise enums2.rs already contains a task where an identical enum
has to be defined.
2024-09-11 16:57:12 +02:00
3 changed files with 31 additions and 23 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

@ -4,7 +4,11 @@ struct Point {
} }
enum Message { enum Message {
// TODO: Implement the message variant types based on their usage below. Resize { width: u64, height: u64 },
Move(Point),
Echo(String),
ChangeColor(u8, u8, u8),
Quit,
} }
struct State { struct State {

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!");
} }
} }