use crate::testing_prelude::*;
#[tokio::test]
async fn spectrogram_command_flac16_441() {
let album = AlbumConfig::with_format(SampleFormat::FLAC16_441);
let snapshot = spectrogram_command_helper(album).await;
let snapshot = normalize_snapshots!(snapshot);
assert_yaml_snapshot!(snapshot);
}
#[tokio::test]
async fn spectrogram_command_flac16_48() {
let album = AlbumConfig::with_format(SampleFormat::FLAC16_48);
let snapshot = spectrogram_command_helper(album).await;
let snapshot = normalize_snapshots!(snapshot);
assert_yaml_snapshot!(snapshot);
}
#[tokio::test]
async fn spectrogram_command_track_30s() {
let album = AlbumConfig::track_30s();
let snapshot = spectrogram_command_helper(album).await;
let snapshot = normalize_snapshots!(snapshot);
assert_yaml_snapshot!(snapshot);
}
#[tokio::test]
async fn spectrogram_command_track_1s() {
let album = AlbumConfig::track_1s();
let snapshot = spectrogram_command_helper(album).await;
let snapshot = normalize_snapshots!(snapshot);
assert_yaml_snapshot!(snapshot);
}
async fn spectrogram_command_helper(album: AlbumConfig) -> Vec<FileSnapshot> {
init_logger();
let test_dir = TestDirectory::new();
let album = AlbumProvider::get_advanced(album).await;
let host = HostBuilder::new()
.with_mock_api(album)
.with_test_options(&test_dir)
.await
.expect_build();
let provider = host.services.get_required::<SourceProvider>();
let generator = host.services.get_required::<SpectrogramCommand>();
let source = provider
.get(AlbumConfig::TORRENT_ID)
.await
.expect("should not fail")
.expect("should find source");
let result = generator.execute(&source).await;
assert!(result.is_ok());
DirectorySnapshot::new()
.with_directory(test_dir.output())
.create()
.expect("should read output directory")
}