summaryrefslogtreecommitdiff
path: root/exercises/enums
diff options
context:
space:
mode:
authorliv <mokou@fastmail.com>2023-06-12 12:39:02 +0200
committerGitHub <noreply@github.com>2023-06-12 12:39:02 +0200
commitb44472b2372ef29f6c7053d0f8e87479fd02c52d (patch)
tree3f549ec5f5b85cd5c8cc6bf530a42bdde379644b /exercises/enums
parent7eef5d15eef780f93e22b1b4e0185f7708219ea0 (diff)
parent4cfcf2ccd783fe3b7b28a3cae878d56ae3334b69 (diff)
Merge branch 'main' into comment_cleanup
Diffstat (limited to 'exercises/enums')
-rw-r--r--exercises/enums/enums3.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/exercises/enums/enums3.rs b/exercises/enums/enums3.rs
index 69ba072..5d28441 100644
--- a/exercises/enums/enums3.rs
+++ b/exercises/enums/enums3.rs
@@ -20,6 +20,7 @@ struct State {
color: (u8, u8, u8),
position: Point,
quit: bool,
+ message: String
}
impl State {
@@ -31,9 +32,7 @@ impl State {
self.quit = true;
}
- fn echo(&self, s: String) {
- println!("{}", s);
- }
+ fn echo(&mut self, s: String) { self.message = s }
fn move_position(&mut self, p: Point) {
self.position = p;
@@ -57,6 +56,7 @@ mod tests {
quit: false,
position: Point { x: 0, y: 0 },
color: (0, 0, 0),
+ message: "hello world".to_string(),
};
state.process(Message::ChangeColor(255, 0, 255));
state.process(Message::Echo(String::from("hello world")));
@@ -67,5 +67,6 @@ mod tests {
assert_eq!(state.position.x, 10);
assert_eq!(state.position.y, 15);
assert_eq!(state.quit, true);
+ assert_eq!(state.message, "hello world");
}
}