예제 #1
0
        public void When_PlayModeSet_MovePreviousFollowingSongsContainsCorrectSongs()
        {
            // Arrange
            int goBack   = 5;
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _bigPlaylist
            };

            for (int i = 0; i < _nbSongs; i++) // play some songs
            {
                songList.MoveNext();
            }
            for (int i = 0; i < goBack; i++) // go back 5 songs
            {
                songList.MovePrevious();
            }

            // Act
            songList.PlayMode = _noShuffleNoLoop;
            var songs = songList.GetFollowingSongs(_queueSize);

            // Assert
            for (int i = _nbSongs - goBack; i < _nbSongs; i++)
            {
                Assert.AreEqual($"{_songPrefixBig}{i}", songs[i - (_nbSongs - goBack)].Title);
            }
        }
예제 #2
0
        public void When_PlayModeSet_ToNoShuffleNoLoopAndSmallPlaylist_ContainsCorrectSongs()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleNoLoop,
                Playlist = _smallPlaylist
            };

            // Act
            songList.PlayMode = _noShuffleNoLoop;
            var songs = songList.GetFollowingSongs(_nbLessSongs);

            // Assert
            Assert.AreEqual(_nbLessSongs, songs.Count);
            for (int i = 0; i < _nbLessSongs; i++)
            {
                Assert.AreEqual($"{_songPrefixSmall}{i}", songs[i].Title);
            }
        }
예제 #3
0
        public void When_MoveNextAndPlaylistSet_FollowingSongsContainsCorrectSongs()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _bigPlaylist
            };

            // Act
            songList.MoveNext();
            songList.Playlist = _smallPlaylist;
            var songs = songList.GetFollowingSongs(_queueSize);

            // Assert
            for (int i = 0; i < _queueSize; i++)
            {
                Assert.AreEqual($"{_songPrefixSmall}{i % _nbLessSongs}", songs[i].Title);
            }
        }
예제 #4
0
        public void When_PlaylistSet_ToNoShuffleNoLoop_ContainsCorrectSongs()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleNoLoop,
                Playlist = _smallPlaylist
            };

            // Act
            songList.Playlist = _bigPlaylist;
            var songs = songList.GetFollowingSongs(_queueSize);

            // Assert
            Assert.AreEqual(_queueSize, songs.Count);
            for (int i = 0; i < _queueSize; i++)
            {
                Assert.AreEqual($"{_songPrefixBig}{i}", songs[i].Title);
            }
        }
예제 #5
0
        public void When_PlayModeSet_ChangesToLoopSong_CurrentSongIsLooped()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _smallPlaylist
            };

            // Act
            var expectedSong = songList.CurrentSong;

            songList.PlayMode = _noShuffleLoopSong;
            var songs = songList.GetFollowingSongs(_queueSize);

            // Assert
            foreach (var actualSong in songs)
            {
                Assert.AreEqual(expectedSong.Title, actualSong.Title);
            }
        }