dawproject_rs/api/
bool_parameter.rs

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