dawproject_rs/api/
enum_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 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}