101 lines
2.0 KiB
Rust
101 lines
2.0 KiB
Rust
//! 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<String>,
|
|
heading: String,
|
|
lines: Vec<String>,
|
|
}
|
|
|
|
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();
|
|
}
|
|
|