Made repository methods asynchronous. Simplified playlist repository. Use playlist manager in the app, and left playlist repository to only be used by the playlist manager.

This commit is contained in:
2026-07-24 09:49:58 -04:00
parent 0acbab1215
commit 63938b0139
14 changed files with 181 additions and 96 deletions

View File

@@ -8,8 +8,8 @@ using Shouldly;
namespace Harmonia.Tests;
internal class TestAudioPlayer(IAudioEngine audioEngine, IPlaylistRepository playlistRepository)
: AudioPlayer(audioEngine, playlistRepository)
internal class TestAudioPlayer(IAudioEngine audioEngine, IPlaylistManager playlistManager)
: AudioPlayer(audioEngine, playlistManager)
{
internal void SetPlaylist(Playlist playlist)
{
@@ -28,7 +28,7 @@ internal class TestAudioPlayer(IAudioEngine audioEngine, IPlaylistRepository pla
public class AudioPlayerTests
{
private readonly IAudioEngine _audioEngine;
private readonly IPlaylistRepository _playlistRepository;
private readonly IPlaylistManager _playlistManager;
private readonly PlaylistSong[] _playlistSongs;
private readonly TestAudioPlayer _audioPlayer;
@@ -63,10 +63,11 @@ public class AudioPlayerTests
_playlistSongs = [.. playlist.Songs];
_playlistRepository = Substitute.For<IPlaylistRepository>();
_playlistRepository.Get().Returns([playlist]);
_playlistManager = Substitute.For<IPlaylistManager>();
_playlistManager.Playlists.Returns([playlist]);
_playlistManager.GetPlaylist(Arg.Any<PlaylistSong>()).Returns(playlist);
_audioPlayer = new TestAudioPlayer(_audioEngine, _playlistRepository);
_audioPlayer = new TestAudioPlayer(_audioEngine, _playlistManager);
_audioPlayer.SetPlaylist(playlist);
}