1
0
Fork 0
mirror of https://github.com/notohh/rustlings.git synced 2025-08-12 22:03:36 -04:00

Merge branch 'main' into comment_cleanup

This commit is contained in:
liv 2023-06-12 12:39:02 +02:00 committed by GitHub
commit b44472b237
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 161 additions and 90 deletions
exercises

View file

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

View file

@ -81,4 +81,13 @@ mod tests {
let count = basket.values().sum::<u32>();
assert!(count > 11);
}
#[test]
fn all_fruit_types_in_basket() {
let mut basket = get_fruit_basket();
fruit_basket(&mut basket);
for amount in basket.values() {
assert_ne!(amount, &0);
}
}
}

View file

@ -18,9 +18,8 @@
use std::collections::HashMap;
// A structure to store team name and its goal details.
// A structure to store the goal details of a team.
struct Team {
name: String,
goals_scored: u8,
goals_conceded: u8,
}

View file

@ -1,8 +1,8 @@
// move_semantics2.rs
//
// Expected output:
// vec0 has length 3 content `[22, 44, 66]`
// vec1 has length 4 content `[22, 44, 66, 88]`
// vec0 has length 3, with contents `[22, 44, 66]`
// vec1 has length 4, with contents `[22, 44, 66, 88]`
//
// Execute `rustlings hint move_semantics2` or use the `hint` watch subcommand
// for a hint.
@ -12,15 +12,13 @@
fn main() {
let vec0 = Vec::new();
// Do not move the following line!
let mut vec1 = fill_vec(vec0);
// Do not change the following line!
println!("{} has length {} content `{:?}`", "vec0", vec0.len(), vec0);
println!("{} has length {}, with contents: `{:?}`", "vec0", vec0.len(), vec0);
vec1.push(88);
println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1);
println!("{} has length {}, with contents `{:?}`", "vec1", vec1.len(), vec1);
}
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {