예제 #1
0
        public void GetLyricsShouldReturnNullWhenNoLyricsAreFound(string artist, string songTitle)
        {
            var lyricsSearcher = new LyricsPluginDataProvider();
            var lyrics         = lyricsSearcher.GetLyrics(artist, songTitle);

            Assert.Null(lyrics);
        }
예제 #2
0
        private static int SandboxCode(SandboxOptions options, IServiceProvider serviceProvider)
        {
            var sw = Stopwatch.StartNew();

            var songsRepository        = serviceProvider.GetService <IDeletableEntityRepository <Song> >();
            var songMetadataRepository = serviceProvider.GetService <IDeletableEntityRepository <SongMetadata> >();
            var songsService           = serviceProvider.GetService <ISongsService>();
            var metadataService        = serviceProvider.GetService <ISongMetadataService>();
            var provider                 = new Top40ChartsDataProvider();
            var splitter                 = new SongNameSplitter();
            var youTubeDataProvider      = new YouTubeDataProvider();
            var lyricsPluginDataProvider = new LyricsPluginDataProvider();

            var songIds = songsRepository.All().Select(x => x.Id).ToList();

            for (var index = 0; index < songIds.Count; index++)
            {
                var songId = songIds[index];
                songsService.UpdateSongsSystemDataAsync(songId).GetAwaiter().GetResult();
                if (index % 100 == 0)
                {
                    songsRepository.DetachAll();
                }
            }

            Console.WriteLine(sw.Elapsed);
            return(0);
        }
예제 #3
0
        public void GetLyricsShouldWorkCorrectly(string artist, string songTitle, string stringThatShouldBeContained)
        {
            var lyricsSearcher = new LyricsPluginDataProvider();
            var lyrics         = lyricsSearcher.GetLyrics(artist, songTitle);

            Assert.NotNull(lyrics);
            Assert.Contains(stringThatShouldBeContained, lyrics);
        }