structs1.rs (1202B)
1 struct ColorRegularStruct { 2 // TODO: Add the fields that the test `regular_structs` expects. 3 // What types should the fields have? What are the minimum and maximum values for RGB colors? 4 red: i32, 5 green: i32, 6 blue: i32, 7 } 8 9 struct ColorTupleStruct(i32, i32, i32); 10 11 #[derive(Debug)] 12 struct UnitStruct; 13 14 fn main() { 15 // You can optionally experiment here. 16 } 17 18 #[cfg(test)] 19 mod tests { 20 use super::*; 21 22 #[test] 23 fn regular_structs() { 24 // TODO: Instantiate a regular struct. 25 let green = ColorRegularStruct { 26 green: 255, 27 red: 0, 28 blue: 0, 29 }; 30 31 assert_eq!(green.red, 0); 32 assert_eq!(green.green, 255); 33 assert_eq!(green.blue, 0); 34 } 35 36 #[test] 37 fn tuple_structs() { 38 // TODO: Instantiate a tuple struct. 39 let green = (0, 255, 0); 40 41 assert_eq!(green.0, 0); 42 assert_eq!(green.1, 255); 43 assert_eq!(green.2, 0); 44 } 45 46 #[test] 47 fn unit_structs() { 48 // TODO: Instantiate a unit struct. 49 let unit_struct = UnitStruct; 50 let message = format!("{unit_struct:?}s are fun!"); 51 52 assert_eq!(message, "UnitStructs are fun!"); 53 } 54 }