dawproject_rs/api/
integer_parameter.rs1#![allow(unused)]
2use super::{add_one_get, fake_rng};
3
4use {
5 fake::{Dummy, Fake, Faker},
6 serde::{Deserialize, Serialize},
7};
8
9#[derive(Debug, Deserialize, Serialize, Clone, Dummy)]
10pub struct IntegerParameter {
11 #[serde(rename = "@id")]
12 #[serde(skip_serializing_if = "Option::is_none")]
13 id: Option<String>,
14 #[serde(rename = "@name")]
15 #[serde(skip_serializing_if = "Option::is_none")]
16 name: Option<String>,
17 #[serde(rename = "@color")]
18 #[serde(skip_serializing_if = "Option::is_none")]
19 color: Option<String>,
20 #[serde(rename = "@comment")]
21 #[serde(skip_serializing_if = "Option::is_none")]
22 comment: Option<String>,
23 #[serde(rename = "@parameterID")]
24 #[serde(skip_serializing_if = "Option::is_none")]
25 parameter_id: Option<i32>,
26 #[serde(rename = "@max")]
27 #[serde(skip_serializing_if = "Option::is_none")]
28 max: Option<i32>,
29 #[serde(rename = "@min")]
30 #[serde(skip_serializing_if = "Option::is_none")]
31 min: Option<i32>,
32 #[serde(rename = "@value")]
33 #[serde(skip_serializing_if = "Option::is_none")]
34 value: Option<i32>,
35}
36
37impl IntegerParameter {
38 pub fn new_test() -> Self {
39 Self {
40 id: Some(format!("id_{}", add_one_get())),
41 name: None,
42 color: None,
43 comment: None,
44 parameter_id: None,
45 max: None,
46 min: None,
47 value: None,
48 }
49 }
50
51 pub fn new_fake() -> Self {
52 let o: Self = Faker.fake_with_rng(&mut fake_rng());
53 o
54 }
55}
56
57#[cfg(test)]
58mod tests {
59 use {super::IntegerParameter, quick_xml::se::to_string, std::error::Error};
60
61 #[test]
62 pub fn se_test() -> Result<(), Box<dyn Error>> {
63 let mut o = IntegerParameter::new_fake();
64
65 match to_string(&o) {
66 Ok(o) => println!("{}", o),
67 Err(err) => return Err(err.into()),
68 }
69
70 Ok(())
71 }
72}