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