dawproject_rs/api/timeline_mods/
integer_point.rs

1#![allow(unused)]
2
3use {
4    super::super::fake_rng,
5    fake::{Dummy, Fake, Faker},
6    serde::{Deserialize, Serialize},
7};
8#[derive(Debug, Deserialize, Serialize, Clone, Dummy)]
9pub struct IntegerPoint {
10    #[serde(rename = "@time")]
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub time: Option<String>,
13    #[serde(rename = "$value", default)]
14    integer_point_sequence: Option<Vec<i32>>,
15}
16
17impl IntegerPoint {
18    pub fn new_test() -> Self {
19        Self {
20            time: Some("empty".to_string()),
21            integer_point_sequence: Some(vec![]),
22        }
23    }
24
25    pub fn new_fake() -> Self {
26        let o: Self = Faker.fake_with_rng(&mut fake_rng());
27        o
28    }
29}
30
31#[cfg(test)]
32mod tests {
33    use {super::IntegerPoint, quick_xml::se::to_string, std::error::Error};
34
35    #[test]
36    pub fn se_test() -> Result<(), Box<dyn Error>> {
37        let mut o = IntegerPoint::new_fake();
38
39        match to_string(&o) {
40            Ok(o) => println!("{}", o),
41            Err(err) => return Err(err.into()),
42        }
43
44        Ok(())
45    }
46}