2022-01-19 21:07:06 -04:00

50 lines
1.1 KiB
Rust

// structs1.rs
// Address all the TODOs to make the tests pass!
// I AM NOT DONE
#[derive(Debug, PartialEq)]
struct ColorClassicStruct {
name : String,
hex : String
}
struct ColorTupleStruct(String,String);
#[derive(Debug)]
struct UnitStruct;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn classic_c_structs() {
let green = ColorClassicStruct{ name : "green".to_string(), hex :"#00FF00".to_string()};
// ### since String != strliteral but rather String < strliteral (??) we need to use
// to_string()
assert_eq!(green,green,"probando");
assert_eq!(green.name, "green");
assert_eq!(green.hex, "#00FF00");
}
#[test]
fn tuple_structs() {
let green = ColorTupleStruct("green".to_string(),"#00FF00".to_string());
assert_eq!(green.0, "green");
assert_eq!(green.1, "#00FF00");
}
#[test]
fn unit_structs() {
// TODO: Instantiate a unit struct!
let unit_struct = UnitStruct;
let message = format!("{:?}s are fun!", unit_struct);
assert_eq!(message, "UnitStructs are fun!");
}
}