use std::path::Path; use dot_multisample::*; #[test] fn empty() { let multi: Multisample = quick_xml::de::from_str(include_str!("data/empty.xml")).unwrap(); assert_eq!(multi.name(), ""); assert_eq!(multi.generator(), ""); assert_eq!(multi.category(), ""); assert_eq!(multi.creator(), ""); assert_eq!(multi.description(), ""); assert_eq!(multi.keywords(), &[] as &[std::borrow::Cow<'_, str>]); assert_eq!(multi.groups(), []); assert_eq!(multi.samples(), []); } #[test] fn with_xml_header() { let multi: Multisample = quick_xml::de::from_str(include_str!("data/with_header.xml")).unwrap(); assert_eq!(multi.name(), "Test"); } #[test] fn just_groups() { let multi: Multisample = quick_xml::de::from_str(include_str!("data/groups.xml")).unwrap(); assert_eq!( multi.groups(), [ Group::default().with_name("First"), Group::default().with_name("Second") ] ); } #[test] fn more_detailed() { let multi: Multisample = quick_xml::de::from_str(include_str!("data/details.xml")).unwrap(); assert_eq!(multi.name(), "1980s FM Synth"); assert_eq!(multi.generator(), "multirec"); assert_eq!(multi.category(), "Pad"); assert_eq!(multi.creator(), ""); assert_eq!( multi.description(), "Very large plastic synthesizer playing a pad sound" ); assert_eq!(multi.keywords(), ["Pad", "Synth", "Glassy", "Retro"]); assert_eq!(multi.groups(), []); assert_eq!( multi.samples(), [ Sample::default().with_file(AsRef::::as_ref("C2.wav")), Sample::default().with_file(AsRef::::as_ref("F2.wav")), Sample::default().with_file(AsRef::::as_ref("A#2.wav")), Sample::default().with_file(AsRef::::as_ref("D#3.wav")), ] ); }