wrote a test but it doesn't work...

This commit is contained in:
Breval Ferrari 2025-03-17 01:05:31 -04:00
parent af7b4f77bb
commit c58275dc75
No known key found for this signature in database
GPG key ID: F71E304D6400AB8E
2 changed files with 24 additions and 0 deletions

View file

@ -19,3 +19,4 @@ derive-new = "0.7"
strum = { version = "0.26", features = ["derive"] }
derive_wrapper = "0.1"
symphonia = { version = "0.5.4", features = ["all"] }
project-root = "0.2.2"

View file

@ -41,6 +41,15 @@ pub enum AudioOpenError {
Symphonia(#[from] symphonia::core::errors::Error),
}
impl PartialEq for AudioOpenError {
fn eq(&self, other: &Self) -> bool {
match self {
AudioOpenError::Io(_) => matches!(other, AudioOpenError::Io(_)),
AudioOpenError::Symphonia(_) => matches!(other, AudioOpenError::Symphonia(_)),
}
}
}
impl Audio {
pub fn open<P: AsRef<Path>>(path: P) -> Result<Audio, AudioOpenError> {
let registry = default::get_codecs();
@ -159,3 +168,17 @@ where
})
}
}
#[cfg(test)]
mod tests {
use project_root::get_project_root;
use crate::IntoDataBytes;
use super::Audio;
#[test]
fn open_sample_file() {
assert_eq!(Ok(include_bytes!("../../../testing material/sound/1938-04-30_BBC_Winston_Churchill_To_The_Royal_Academy_Of_Arts.mp3").to_vec()), Audio::open(get_project_root().expect("can't find project root!").join("testing material").join("sound").join("1938-04-30_BBC_Winston_Churchill_To_The_Royal_Academy_Of_Arts.mp3")).map(|audio| audio.into_data_bytes()));
}
}