//! Legacy tests from 0.0.7 version. use derive_getters::Getters; #[derive(Getters)] struct Number { num: u64, } fn number_num() { let number = Number { num: 655 }; assert!(number.num() == &655); } #[derive(Getters)] struct ManyNumbers { integer: u64, floating: f64, byte: u8, } fn many_numbers() { let numbers = ManyNumbers { integer: 655, floating: 45.5, byte: 122, }; assert!(numbers.integer() == &655); assert!(numbers.floating() == &45.5); assert!(numbers.byte() == &122); } #[derive(Getters)] struct Textual { author: Option, heading: String, lines: Vec, } fn textual_struct() { let article = Textual { author: None, heading: "abcdefg".to_string(), lines: vec![ "hijk".to_string(), "lmno".to_string(), "pqrs".to_string(), "tuvw".to_string(), ], }; assert!(article.author() == &None); assert!(article.heading() == "abcdefg"); assert!(article.lines().len() == 4); assert!(article.lines()[0] == "hijk"); assert!(article.lines()[1] == "lmno"); assert!(article.lines()[2] == "pqrs"); assert!(article.lines()[3] == "tuvw"); let book = Textual { author: Some("name".to_string()), heading: "1234".to_string(), lines: vec![ "2345".to_string(), "3456".to_string(), "4567".to_string(), "5678".to_string(), ], }; assert!(book.author() == &Some("name".to_string())); } /// There shouldn't be any dead code warnings on unused methods, only on unused slots which /// are not the libraries fault. #[derive(Getters)] struct DeadCode { x: u64, y: u64, z: u64, } #[test] fn dead_code_struct() { let dc = DeadCode { x: 1, y: 2, z: 3, }; assert!(*dc.x() == 1); } fn main() { number_num(); many_numbers(); textual_struct(); }