private async void OnPlaySongList(PlaySongsListEventArgs e, CancellationToken cancellationToken) { StopPlaying(); await playlist.SetPlaylistSongs(e.Songs, cancellationToken); await StartPlaying(cancellationToken); }
private void OnPlaySongsList(PlaySongsListEventArgs e) { var disc = e.Disc; if (disc != null) { SwitchToDisc(disc); } }
public void PlayDisc_SendsPlaySongsListEventForActiveDiscSongs() { // Arrange var disc = new DiscModel { Id = new ItemId("Some Disc") }; var discFolder = new FolderModel { Id = new ItemId("Some Folder") }; discFolder.AddDiscs(disc); var activeSong1 = new SongModel { Id = new ItemId("Active Song 1") }; var activeSong2 = new SongModel { Id = new ItemId("Active Song 2") }; var deletedSong = new SongModel { Id = new ItemId("Deleted Songs"), DeleteDate = new DateTime(2021, 07, 25) }; disc.AddSongs(activeSong1, deletedSong, activeSong2); var mocker = new AutoMocker(); var target = mocker.CreateInstance <LibraryExplorerViewModel>(); PlaySongsListEventArgs playSongsListEvent = null; Messenger.Default.Register <PlaySongsListEventArgs>(this, e => e.RegisterEvent(ref playSongsListEvent)); // Act target.PlayDisc(disc); // Assert var expectedSongs = new[] { activeSong1, activeSong2, }; playSongsListEvent.Should().NotBeNull(); playSongsListEvent.Songs.Should().BeEquivalentTo(expectedSongs, x => x.WithStrictOrdering()); }