Complete structs section
This commit is contained in:
parent
46dd23f067
commit
7c71a8ae58
|
@ -1,11 +1,12 @@
|
|||
// structs1.rs
|
||||
// Address all the TODOs to make the tests pass!
|
||||
|
||||
struct ColorClassicStruct {
|
||||
// TODO: Something goes here
|
||||
struct ColorClassicStruct<'a> {
|
||||
name: &'a str,
|
||||
hex: &'a str,
|
||||
}
|
||||
|
||||
struct ColorTupleStruct(/* TODO: Something goes here */);
|
||||
struct ColorTupleStruct<'a>(&'a str, &'a str);
|
||||
|
||||
#[derive(Debug)]
|
||||
struct UnitStruct;
|
||||
|
@ -16,8 +17,9 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn classic_c_structs() {
|
||||
// TODO: Instantiate a classic c struct!
|
||||
// let green =
|
||||
let name = "green";
|
||||
let hex = "#00FF00";
|
||||
let green = ColorClassicStruct { name, hex };
|
||||
|
||||
assert_eq!(green.name, "green");
|
||||
assert_eq!(green.hex, "#00FF00");
|
||||
|
@ -25,18 +27,17 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn tuple_structs() {
|
||||
// TODO: Instantiate a tuple struct!
|
||||
let name = "green";
|
||||
let hex = "#00FF00";
|
||||
let green = ColorTupleStruct(name, hex);
|
||||
// For more fun, use the field initialization shorthand.
|
||||
// let green =
|
||||
|
||||
assert_eq!(green.0, "green");
|
||||
assert_eq!(green.1, "#00FF00");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unit_structs() {
|
||||
// TODO: Instantiate a unit struct!
|
||||
// let unit_struct =
|
||||
let unit_struct = UnitStruct;
|
||||
let message = format!("{:?}s are fun!", unit_struct);
|
||||
|
||||
assert_eq!(message, "UnitStructs are fun!");
|
||||
|
|
Loading…
Reference in a new issue