Eugen 69539ece49 Auf Branch learning_rust
Zum Commit vorgemerkte Änderungen:
	geändert:       exercises/00_intro/intro1.rs
	geändert:       exercises/00_intro/intro2.rs
	geändert:       exercises/01_variables/variables1.rs
	geändert:       exercises/01_variables/variables2.rs
	geändert:       exercises/01_variables/variables3.rs
	geändert:       exercises/01_variables/variables4.rs
	geändert:       exercises/01_variables/variables5.rs
	geändert:       exercises/01_variables/variables6.rs
	geändert:       exercises/02_functions/functions1.rs
	geändert:       exercises/02_functions/functions2.rs
	geändert:       exercises/02_functions/functions3.rs
	geändert:       exercises/02_functions/functions4.rs
	geändert:       exercises/02_functions/functions5.rs
	geändert:       exercises/03_if/if1.rs
	geändert:       exercises/03_if/if2.rs
	geändert:       exercises/03_if/if3.rs
	geändert:       exercises/04_primitive_types/primitive_types1.rs
	geändert:       exercises/04_primitive_types/primitive_types2.rs
	geändert:       exercises/04_primitive_types/primitive_types3.rs
	geändert:       exercises/04_primitive_types/primitive_types4.rs
	geändert:       exercises/04_primitive_types/primitive_types5.rs
	geändert:       exercises/04_primitive_types/primitive_types6.rs
	geändert:       exercises/05_vecs/vecs1.rs
	geändert:       exercises/05_vecs/vecs2.rs
	geändert:       exercises/06_move_semantics/move_semantics1.rs
	geändert:       exercises/06_move_semantics/move_semantics2.rs
	geändert:       exercises/06_move_semantics/move_semantics3.rs
	geändert:       exercises/06_move_semantics/move_semantics4.rs
	geändert:       exercises/06_move_semantics/move_semantics5.rs
	geändert:       exercises/06_move_semantics/move_semantics6.rs
	geändert:       exercises/07_structs/structs1.rs
	geändert:       exercises/07_structs/structs2.rs
	geändert:       exercises/quiz1.rs
	neue Datei:     rustlings
2023-12-19 01:10:51 +01:00

59 lines
1.3 KiB
Rust

// structs1.rs
//
// Address all the TODOs to make the tests pass!
//
// Execute `rustlings hint structs1` or use the `hint` watch subcommand for a
// hint.
struct ColorClassicStruct {
red: u8,
green: u8,
blue: u8,
// TODO: Something goes here
}
struct ColorTupleStruct(u8, u8, u8);
#[derive(Debug)]
struct UnitLikeStruct;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn classic_c_structs() {
// TODO: Instantiate a classic c struct!
// let green =
let green: ColorClassicStruct = ColorClassicStruct {
red: 0,
green: 255,
blue: 0,
};
assert_eq!(green.red, 0);
assert_eq!(green.green, 255);
assert_eq!(green.blue, 0);
}
#[test]
fn tuple_structs() {
// TODO: Instantiate a tuple struct!
// let green =
let green: ColorTupleStruct = ColorTupleStruct(0, 255, 0);
assert_eq!(green.0, 0);
assert_eq!(green.1, 255);
assert_eq!(green.2, 0);
}
#[test]
fn unit_structs() {
// TODO: Instantiate a unit-like struct!
let unit_like_struct = UnitLikeStruct {};
let message = format!("{:?}s are fun!", unit_like_struct);
assert_eq!(message, "UnitLikeStructs are fun!");
}
}