dawproject_rs/api/
enum_parameter.rs

1#![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 EnumParameter {
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    #[serde(rename = "@count")]
26    count: i32,
27    #[serde(rename = "@labels")]
28    #[serde(skip_serializing_if = "Option::is_none")]
29    labels: Option<Vec<String>>,
30    #[serde(rename = "@value")]
31    #[serde(skip_serializing_if = "Option::is_none")]
32    value: Option<i32>,
33}
34
35impl EnumParameter {
36    pub fn new_test() -> Self {
37        Self {
38            id: Some(format!("id_{}", add_one_get())),
39            name: None,
40            color: None,
41            comment: None,
42            parameter_id: None,
43            count: 0,
44            labels: None,
45            value: None,
46        }
47    }
48
49    pub fn new_fake() -> Self {
50        let o: Self = Faker.fake_with_rng(&mut fake_rng());
51        o
52    }
53}
54
55#[cfg(test)]
56mod tests {
57    use {super::EnumParameter, quick_xml::se::to_string, std::error::Error};
58
59    #[test]
60    pub fn se_test() -> Result<(), Box<dyn Error>> {
61        let mut o = EnumParameter::new_fake();
62
63        match to_string(&o) {
64            Ok(o) => println!("{}", o),
65            Err(err) => return Err(err.into()),
66        }
67
68        Ok(())
69    }
70}