public void AddToQueueCommand_Test() { IMusicPlayer mp = new MusicPlayerStub(); IQueueLoader ql = new QueueLoaderStub(); SongCollection collection = new SongCollection(ql); MainWindowViewModel vm = new MainWindowViewModel(mp, collection); vm.AddToQueueCommand.Execute(null); Assert.AreEqual(2, vm.SongList.Count); Assert.AreEqual("2 songs - 00:30", vm.QueueInfo); }
public void PauseCommand_Test() { IMusicPlayer mp = new MusicPlayerStub(); IQueueLoader ql = new QueueLoaderStub(); SongCollection col = new SongCollection(ql); MainWindowViewModel vm = new MainWindowViewModel(mp, col); vm.AddToQueueCommand.Execute(null); vm.SelectedIndex = 0; vm.SelectedSong = vm.SongList[vm.SelectedIndex]; vm.PlayingSong = vm.SongList[1]; vm.PlaySong.Execute(null); vm.PauseSong.Execute(null); }
public void StopCommand_Test() { IMusicPlayer mp = new MusicPlayerStub(); IQueueLoader ql = new QueueLoaderStub(); SongCollection col = new SongCollection(ql); MainWindowViewModel vm = new MainWindowViewModel(mp, col); vm.AddToQueueCommand.Execute(null); vm.SelectedIndex = 0; vm.SelectedSong = vm.SongList[vm.SelectedIndex]; vm.PlayingSong = vm.SongList[1]; vm.PlaySong.Execute(null); vm.StopSong.Execute(null); // Assert viewmodel state Assert.AreEqual(0, vm.PlayingProgress); Assert.AreEqual("00:00 / 00:10", vm.ElapsedTime); }
public void PlayCommand_Test() { IMusicPlayer mp = new MusicPlayerStub(); IQueueLoader ql = new QueueLoaderStub(); SongCollection collection = new SongCollection(ql); MainWindowViewModel vm = new MainWindowViewModel(mp, collection); vm.AddToQueueCommand.Execute(null); vm.SelectedIndex = 0; vm.SelectedSong = vm.SongList[vm.SelectedIndex]; vm.PlayingSong = vm.SongList[1]; vm.PlaySong.Execute(null); // Assert playing song properties match selected song properties Assert.AreEqual("Test", vm.PlayingSong.Artist); Assert.AreEqual("Title", vm.PlayingSong.Title); Assert.AreEqual("Test Album", vm.PlayingSong.Album); // Assert viewmodel state Assert.AreEqual("Test - Test Album [2018]", vm.ArtistAlbumInfo); Assert.AreEqual("1. Title", vm.TrackTitleInfo); }