dawproject_rs/api/
file_reference.rs1#![allow(unused)]
2
3use {
4 super::fake_rng,
5 fake::{Dummy, Fake, Faker},
6 serde::{Deserialize, Serialize},
7};
8#[derive(Debug, Deserialize, Serialize, Clone, Dummy)]
9pub struct FileReference {
10 #[serde(rename = "@path")]
11 pub path: String,
12 #[serde(rename = "@external")]
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub external: Option<bool>,
15}
16
17impl FileReference {
18 pub fn new_test(path: String) -> Self {
19 Self {
20 path,
21 external: None,
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::FileReference, quick_xml::se::to_string, std::error::Error};
34
35 #[test]
36 pub fn se_test() -> Result<(), Box<dyn Error>> {
37 let mut o = FileReference::new_test("/test/test/file.daw".to_string());
38
39 match to_string(&o) {
40 Ok(o) => println!("{}", o),
41 Err(err) => return Err(err.into()),
42 }
43
44 Ok(())
45 }
46}