rustlings/exercises/structs/structs1.rs

47 lines
1 KiB
Rust
Raw Normal View History

2021-07-08 02:58:36 +07:00
// structs1.rs
// Address all the TODOs to make the tests pass!
struct ColorClassicStruct {
2021-07-08 03:02:31 +07:00
name: String,
hex: String
2021-07-08 02:58:36 +07:00
}
2021-07-08 03:02:31 +07:00
struct ColorTupleStruct(String, String);
2021-07-08 02:58:36 +07:00
#[derive(Debug)]
struct UnitStruct;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn classic_c_structs() {
// TODO: Instantiate a classic c struct!
2021-07-08 03:02:31 +07:00
let green = ColorClassicStruct {
name: String::from("green"),
hex: String::from("#00FF00")
};
2021-07-08 02:58:36 +07:00
assert_eq!(green.name, "green");
assert_eq!(green.hex, "#00FF00");
}
#[test]
fn tuple_structs() {
// TODO: Instantiate a tuple struct!
2021-07-08 03:02:31 +07:00
let green = ColorTupleStruct("green".to_string(),"#00FF00".to_string());
2021-07-08 02:58:36 +07:00
assert_eq!(green.0, "green");
assert_eq!(green.1, "#00FF00");
}
#[test]
fn unit_structs() {
// TODO: Instantiate a unit struct!
2021-07-08 03:02:31 +07:00
let unit_struct = UnitStruct;
2021-07-08 02:58:36 +07:00
let message = format!("{:?}s are fun!", unit_struct);
assert_eq!(message, "UnitStructs are fun!");
}
}