dawproject_rs/api/timeline_mods/
point.rs

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