structs1.rs (909B)
1 struct ColorRegularStruct { 2 red: u8, 3 green: u8, 4 blue: u8, 5 } 6 7 struct ColorTupleStruct(u8, u8, u8); 8 9 #[derive(Debug)] 10 struct UnitStruct; 11 12 fn main() { 13 // You can optionally experiment here. 14 } 15 16 #[cfg(test)] 17 mod tests { 18 use super::*; 19 20 #[test] 21 fn regular_structs() { 22 let green = ColorRegularStruct { 23 red: 0, 24 green: 255, 25 blue: 0, 26 }; 27 28 assert_eq!(green.red, 0); 29 assert_eq!(green.green, 255); 30 assert_eq!(green.blue, 0); 31 } 32 33 #[test] 34 fn tuple_structs() { 35 let green = ColorTupleStruct(0, 255, 0); 36 37 assert_eq!(green.0, 0); 38 assert_eq!(green.1, 255); 39 assert_eq!(green.2, 0); 40 } 41 42 #[test] 43 fn unit_structs() { 44 let unit_struct = UnitStruct; 45 let message = format!("{unit_struct:?}s are fun!"); 46 47 assert_eq!(message, "UnitStructs are fun!"); 48 } 49 }