Exemplo n.º 1
0
        public void When_MovePrevious_SongListHasPreviousSongs_ReturnsCorrectSongs()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleNoLoop,
                Playlist = _bigPlaylist
            };

            for (int i = 0; i < _nbSongs; i++)
            {
                songList.MoveNext();
            }

            // Act
            var previousSongs = new List <SongDto>();

            for (int i = 0; i < _nbSongs; i++)
            {
                var song = songList.MovePrevious().CurrentSong;
                previousSongs.Add(song);
            }

            // Assert
            for (int i = 0; i < _nbSongs; i++)
            {
                Assert.AreEqual($"{_songPrefixBig}{_nbSongs - 1 - i}", previousSongs[i].Title);
            }
        }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
0
        public void When_CurrentSong_HasNoPreviousSongs_MovePreviousReturnsNull()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _smallPlaylist
            };

            // Act
            var actual = songList.MovePrevious().CurrentSong;

            // Assert
            Assert.AreEqual(null, actual);
        }
Exemplo n.º 4
0
        public void When_MovePrevious_SongListHasNoPreviousSongs_ReturnsNull()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _bigPlaylist
            };

            // Act
            var song = songList.MovePrevious().CurrentSong;

            // Assert
            Assert.IsNull(song);
        }
Exemplo n.º 5
0
        public void When_MovePrevious_CalledTwice_SecondCallDoesNothing()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleNoLoop,
                Playlist = _bigPlaylist
            };
            var expected = songList.CurrentSong;

            // Act
            var actual = songList.MovePrevious().MovePrevious().MoveNext().CurrentSong;

            // Assert
            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 6
0
        public void When_CurrentSongGet_HasFollowingSongs_MovePreviousReturnsCorrectSong()
        {
            // Arrange
            var songList = new SongList
            {
                PlayMode = _noShuffleLoopPlaylist,
                Playlist = _smallPlaylist
            };

            // Act
            var expected = songList.MoveNext().CurrentSong;

            songList.MoveNext();
            var actual = songList.MovePrevious().CurrentSong;

            // Assert
            Assert.AreEqual(expected, actual);
        }