Beispiel #1
0
            public void ThrowsAccessExceptionWithGuestTokenAndMultipleSongs()
            {
                var songs = new[]
                {
                    Substitute.For<Song>("TestPath", TimeSpan.Zero),
                    Substitute.For<Song>("TestPath", TimeSpan.Zero)
                };

                using (Library library = new LibraryBuilder().WithPlaylist().Build())
                {
                    Guid token = library.LocalAccessControl.RegisterLocalAccessToken();

                    library.LocalAccessControl.SetLocalPassword(token, "Password");
                    library.LocalAccessControl.DowngradeLocalAccess(token);

                    Assert.Throws<AccessException>(() => library.AddSongsToPlaylist(songs, token));
                }
            }
Beispiel #2
0
            public async Task UpdateRemovesMissingSongsFromPlaylists()
            {
                var existingSong = new LocalSong("C://Existing.mp3", TimeSpan.Zero);
                var missingSong = new LocalSong("C://Missing.mp3", TimeSpan.Zero);

                var songs = new[] { existingSong, missingSong };

                var playlist1 = new Playlist("Playlist 1");
                playlist1.AddSongs(songs);

                var playlist2 = new Playlist("Playlist 2");
                playlist2.AddSongs(songs);

                var libraryReader = Substitute.For<ILibraryReader>();
                libraryReader.LibraryExists.Returns(true);
                libraryReader.ReadSongSourcePath().Returns("C://");
                libraryReader.ReadPlaylists().Returns(new[] { playlist1, playlist2 });
                libraryReader.ReadSongs().Returns(songs);

                var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { existingSong.OriginalPath, new MockFileData("DontCare") } });

                using (Library library = new LibraryBuilder().WithFileSystem(fileSystem).WithReader(libraryReader).Build())
                {
                    await library.AwaitInitializationAndUpdate();

                    Assert.Equal(1, library.Playlists[0].Count());
                    Assert.Equal(1, library.Playlists[1].Count());
                }
            }