rustlings

solving rustlings ft. dracuxan
git clone [email protected]:dracuxan/rustlings.git
Log | Files | Refs

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 }