1struct ColorRegularStruct {
2 red: u8,
3 green: u8,
4 blue: u8,
5}
6
7struct ColorTupleStruct(u8, u8, u8);
8
9#[derive(Debug)]
10struct UnitStruct;
11
12fn main() {
13 // You can optionally experiment here.
14}
15
16#[cfg(test)]
17mod 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}