mirror of
https://github.com/rust-lang/rustlings.git
synced 2026-01-11 21:29:18 +00:00
Started Structs
This commit is contained in:
parent
f45c56d646
commit
280a9de4c6
@ -2,13 +2,14 @@
|
||||
// Address all the TODOs to make the tests pass!
|
||||
// Execute `rustlings hint structs1` or use the `hint` watch subcommand for a hint.
|
||||
|
||||
// I AM NOT DONE
|
||||
|
||||
struct ColorClassicStruct {
|
||||
// TODO: Something goes here
|
||||
red: i16,
|
||||
green: i16,
|
||||
blue: i16,
|
||||
}
|
||||
|
||||
struct ColorTupleStruct(/* TODO: Something goes here */);
|
||||
struct ColorTupleStruct(u8, u8, u8);
|
||||
|
||||
#[derive(Debug)]
|
||||
struct UnitLikeStruct;
|
||||
@ -20,7 +21,11 @@ mod tests {
|
||||
#[test]
|
||||
fn classic_c_structs() {
|
||||
// TODO: Instantiate a classic c struct!
|
||||
// let green =
|
||||
let green = ColorClassicStruct{
|
||||
red: 0,
|
||||
green: 255,
|
||||
blue: 0
|
||||
};
|
||||
|
||||
assert_eq!(green.red, 0);
|
||||
assert_eq!(green.green, 255);
|
||||
@ -30,7 +35,7 @@ mod tests {
|
||||
#[test]
|
||||
fn tuple_structs() {
|
||||
// TODO: Instantiate a tuple struct!
|
||||
// let green =
|
||||
let green = ColorTupleStruct(0, 255, 0);
|
||||
|
||||
assert_eq!(green.0, 0);
|
||||
assert_eq!(green.1, 255);
|
||||
@ -40,7 +45,7 @@ mod tests {
|
||||
#[test]
|
||||
fn unit_structs() {
|
||||
// TODO: Instantiate a unit-like struct!
|
||||
// let unit_like_struct =
|
||||
let unit_like_struct = UnitLikeStruct;
|
||||
let message = format!("{:?}s are fun!", unit_like_struct);
|
||||
|
||||
assert_eq!(message, "UnitLikeStructs are fun!");
|
||||
|
||||
@ -35,7 +35,15 @@ mod tests {
|
||||
fn your_order() {
|
||||
let order_template = create_order_template();
|
||||
// TODO: Create your own order using the update syntax and template above!
|
||||
// let your_order =
|
||||
let your_order = Order{
|
||||
name : String::from("Hacker in Rust"),
|
||||
year : order_template.year,
|
||||
made_by_phone : order_template.made_by_phone,
|
||||
made_by_mobile : order_template.made_by_mobile,
|
||||
made_by_email: order_template.made_by_email,
|
||||
item_number : order_template.item_number,
|
||||
count : 1,
|
||||
};
|
||||
assert_eq!(your_order.name, "Hacker in Rust");
|
||||
assert_eq!(your_order.year, order_template.year);
|
||||
assert_eq!(your_order.made_by_phone, order_template.made_by_phone);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user