dawproject_rs/api/
lane.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 Lane {
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>, #[serde(rename = "@comment")]
20 #[serde(skip_serializing_if = "Option::is_none")]
21 comment: Option<String>,
22}
23
24impl Lane {
25 pub fn new_test() -> Self {
26 Self {
27 id: Some(format!("id_{}", add_one_get())),
28 name: None,
29 color: None,
30 comment: None,
31 }
32 }
33
34 pub fn new_fake() -> Self {
35 let o: Self = Faker.fake_with_rng(&mut fake_rng());
36 o
37 }
38}
39
40#[cfg(test)]
41mod tests {
42 use {super::Lane, quick_xml::se::to_string, std::error::Error};
43
44 #[test]
45 pub fn se_test() -> Result<(), Box<dyn Error>> {
46 let mut o = Lane::new_fake();
47
48 match to_string(&o) {
49 Ok(o) => println!("{}", o),
50 Err(err) => return Err(err.into()),
51 }
52
53 Ok(())
54 }
55}