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