Going through rustlings for the first time
at main 1.3 kB view raw
1#[derive(Debug)] 2struct Order { 3 name: String, 4 year: u32, 5 made_by_phone: bool, 6 made_by_mobile: bool, 7 made_by_email: bool, 8 item_number: u32, 9 count: u32, 10} 11 12fn create_order_template() -> Order { 13 Order { 14 name: String::from("Bob"), 15 year: 2019, 16 made_by_phone: false, 17 made_by_mobile: false, 18 made_by_email: true, 19 item_number: 123, 20 count: 0, 21 } 22} 23 24fn main() { 25 // You can optionally experiment here. 26} 27 28#[cfg(test)] 29mod tests { 30 use super::*; 31 32 #[test] 33 fn your_order() { 34 let order_template = create_order_template(); 35 36 let your_order = Order { 37 name: String::from("Hacker in Rust"), 38 count: 1, 39 // Struct update syntax 40 ..order_template 41 }; 42 43 assert_eq!(your_order.name, "Hacker in Rust"); 44 assert_eq!(your_order.year, order_template.year); 45 assert_eq!(your_order.made_by_phone, order_template.made_by_phone); 46 assert_eq!(your_order.made_by_mobile, order_template.made_by_mobile); 47 assert_eq!(your_order.made_by_email, order_template.made_by_email); 48 assert_eq!(your_order.item_number, order_template.item_number); 49 assert_eq!(your_order.count, 1); 50 } 51}