Esempio n. 1
0
 protected void uploadFile(object sender, EventArgs e)
 {
     try
     {
         if (FileUpload1.HasFile)
         {
             objsong = new SongHelper();
             FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Data/") + FileUpload1.FileName);
             string filename = FileUpload1.FileName;
             objsong.SongPath = filename;
             objsong.SingerID = ddlsinger.SelectedValue.Trim();
             objsong.TypeID   = ddlcategory.SelectedValue.Trim();
             objsong.SongName = txtsongname.Text.Trim();
             ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "Exception", "alert('" + objsong.saveSong() + "');", true);
         }
     }
     catch (Exception ex)
     {
         lblmsg.Text      = ex.Message.ToString();
         lblmsg.ForeColor = Color.Red;
     }
     finally
     {
         ddlsinger.SelectedValue   = "-1";
         ddlcategory.SelectedValue = "-1";
         txtsongname.Text          = "";
     }
 }
Esempio n. 2
0
        public void CountWords_WhenSongLyricsIsNull_ShouldReturnZero()
        {
            var song = new Song();

            var result = SongHelper.CountWords(song);

            result.Should().Be(0);
        }
Esempio n. 3
0
 public SongRepository(IHttpContextAccessor http_context, MintPlayerContext mintplayer_context, UserManager <Entities.User> user_manager, SongHelper song_helper, SubjectHelper subject_helper, Jobs.IElasticSearchJobRepository elasticSearchJobRepository)
 {
     this.http_context               = http_context;
     this.mintplayer_context         = mintplayer_context;
     this.user_manager               = user_manager;
     this.song_helper                = song_helper;
     this.subject_helper             = subject_helper;
     this.elasticSearchJobRepository = elasticSearchJobRepository;
 }
Esempio n. 4
0
        public void CountWords_WhenSongIsInstrumental_ShouldWordCount()
        {
            var song = new Song {
                Lyrics = "instrumental"
            };

            var result = SongHelper.CountWords(song);

            result.Should().Be(1);
        }
Esempio n. 5
0
        public void CountWords_WhenSongHasLyrics_ShouldWordCount()
        {
            var song = new Song {
                Lyrics = "hello world"
            };

            var result = SongHelper.CountWords(song);

            result.Should().Be(2);
        }
Esempio n. 6
0
        public void CountWords_WhenSongLyricsIsEmpty_ShouldReturnZero()
        {
            var song = new Song {
                Lyrics = string.Empty
            };

            var result = SongHelper.CountWords(song);

            result.Should().Be(0);
        }
Esempio n. 7
0
        public void HasLyrics_WhenSongHasLyrics_ShouldReturnTrue()
        {
            var song = new Song
            {
                Lyrics = "hello world"
            };
            var result = SongHelper.HasLyrics(song);

            result.Should().BeTrue();
        }
Esempio n. 8
0
        public void HasLyrics_WhenSongHasEmptyLyrics_ShouldReturnFalse()
        {
            var song = new Song
            {
                Lyrics = string.Empty
            };
            var result = SongHelper.HasLyrics(song);

            result.Should().BeFalse();
        }
Esempio n. 9
0
        public void IsInstrumental_WhenSongHasOneWord_ShouldReturnFalse()
        {
            var song = new Song
            {
                Lyrics = "test"
            };

            var result = SongHelper.IsInstrumental(song);

            result.Should().BeFalse();
        }
Esempio n. 10
0
        public void IsInstrumental_WhenSongIsNotInstrumental_ShouldReturnFalse()
        {
            var song = new Song
            {
                Lyrics = "hello world"
            };

            var result = SongHelper.IsInstrumental(song);

            result.Should().BeFalse();
        }
Esempio n. 11
0
        public void IsInstrumental_WhenSongIsInstrumental_ShouldReturnTrue()
        {
            var song = new Song
            {
                Lyrics = "(instrumental)"
            };

            var result = SongHelper.IsInstrumental(song);

            result.Should().BeTrue();
        }
Esempio n. 12
0
        private async Task <IEnumerable <Song> > GetSongLyricsForBatch(Artist artist, IEnumerable <Work> works)
        {
            var songsWithLyrics = new HashSet <Song>();

            foreach (var work in works)
            {
                var song = await GetSongLyrics(artist, work);

                if (SongHelper.HasLyrics(song) && !SongHelper.IsInstrumental(song))
                {
                    songsWithLyrics.Add(song);
                }
            }

            return(songsWithLyrics);
        }
Esempio n. 13
0
        static void Main(string[] args)
        {
            var songs = SongHelper.GetAllSongs();
            var fans  = PersonHelper.GetAllFans();

            //Select the person Jerry and add all the songs which start with the letter B
            List <Song> songsStartingWithB = songs.Where(song => song.Title.StartsWith("B")).ToList();

            fans.Where(fan => fan.FirstName == "Jerry").Select(fan => fan.FavouriteSongs = songsStartingWithB).ToList();

            //Select the person Maria and add all the songs with length longer than 6 mins
            List <Song> songsLongerThan6 = songs.Where(song => song.Length > 360).ToList();

            fans.Where(fan => fan.FirstName == "Maria").Select(fan => fan.FavouriteSongs = songsLongerThan6).ToList();

            //Select the person Jane and add all the songs that are of genre Rock
            List <Song> rockSongs = songs.Where(song => song.Genre == Genre.Rock).ToList();

            fans.Where(fan => fan.FirstName == "Jane").Select(fan => fan.FavouriteSongs = rockSongs).ToList();

            //Select the person Stefan and add all songs shorter than 3 mins and of genre Hip - Hop
            List <Song> hipHopShorterThan3 = songs.Where(song => song.Genre == Genre.Hip_Hop && song.Length < 180).ToList();

            fans.Where(fan => fan.FirstName == "Stefan").Select(fan => fan.FavouriteSongs = hipHopShorterThan3).ToList();

            //Select all persons from the persons array that have 4 or more songs

            List <Person> fansWithMoreThan4Songs = fans.Where(fan => fan.FavouriteSongs.Count >= 4).ToList();

            foreach (var item in fansWithMoreThan4Songs)
            {
                Console.WriteLine(item.FirstName);
            }

            Person jane   = fans.FirstOrDefault(x => x.FirstName == "Jane");
            Person stefan = fans.FirstOrDefault(x => x.Id == 2);
            Person maria  = fans.FirstOrDefault(x => x.Age == 43);

            jane.GetFavSong();
            Console.WriteLine("---------------------------------");
            stefan.GetFavSong();
            Console.WriteLine("---------------------------------");
            maria.GetFavSong();
        }
Esempio n. 14
0
        public string RunCommand(SpeechRecognizedEventArgs e)
        {
            switch (e.Result.Text)
            {
            case "next song":
            case "play the next song":
            case "skip this song":
            case "play next song":
                SongHelper.NextSong();
                break;

            case "last song":
            case "previous song":
            case "play the last song":
            case "play the previous song":
                SongHelper.PreviousSong();
                break;

            case "pause song":
            case "pause this song":
            case "pause song playback":
                SongHelper.Pause();
                break;

            case "stop song":
            case "stop song playback":
            case "stop the music":
                SongHelper.Stop();
                break;

            case "resume playback":
            case "resume song":
            case "resume playing":
                SongHelper.Resume();
                break;
            }
            return("");
        }
Esempio n. 15
0
        private ArtistSongsStats ExtractStatsFromSongs(IEnumerable <Song> songs)
        {
            if (songs == null || !songs.Any())
            {
                return(new ArtistSongsStats());
            }

            var shortestSongWordCount = songs.Min(x => SongHelper.CountWords(x));
            var shortestSong          = songs.Where(x => SongHelper.CountWords(x) == shortestSongWordCount).FirstOrDefault();

            var longestSongWordCount = songs.Max(x => SongHelper.CountWords(x));
            var longestSong          = songs.Where(x => SongHelper.CountWords(x) == longestSongWordCount).FirstOrDefault();

            return(new ArtistSongsStats
            {
                SongsCount = songs.Count(),
                AverageWordsInSongs = (int)songs.Average(s => SongHelper.CountWords(s)),
                ShortestSongWordCount = shortestSongWordCount,
                LongestSongWordCount = longestSongWordCount,
                ShortestSong = shortestSong.Work.Title,
                LongestSong = longestSong.Work.Title
            });
        }
Esempio n. 16
0
        public string RunCommand(SpeechRecognizedEventArgs e)
        {
            if (e.Result.Text.StartsWith("play song"))
            {
                SongHelper.Shuffle(false);
                if (!SongHelper.PlaySong(e.Result.Text.Replace("play song ", "")))
                {
                    return("I don't know that song.");
                }
            }
            else if (e.Result.Text.StartsWith("play playlist"))
            {
                SongHelper.Shuffle(false);
                if (SongHelper.PlayPlaylist(e.Result.Text.Replace("play playlist ", "")))
                {
                    return("I don't have that playlist in my library.");
                }
            }
            else if (e.Result.Text.StartsWith("shuffle playlist"))
            {
                SongHelper.Shuffle(true);
                if (!SongHelper.PlayPlaylist(e.Result.Text.Replace("shuffle playlist ", "")))
                {
                    return("I don't have that playlist in my library");
                }
            }
            else if (e.Result.Text.StartsWith("shuffle all songs"))
            {
                SongHelper.Shuffle(true);
                if (!SongHelper.PlayRandom())
                {
                    return("I don't have any songs to shuffle...");
                }
            }

            return("");
        }
Esempio n. 17
0
        public Grammar BuildGrammar()
        {
            Choices choiceBuilder = new Choices();

            // Songs
            if (SongHelper.SongCount() > 0) // it freaks out if there's nothing in the one-of bit.
            {
                GrammarBuilder songBuilder = new GrammarBuilder();
                songBuilder.Append("play song");
                songBuilder.Append(SongHelper.GenerateSongChoices());
                choiceBuilder.Add(songBuilder);
            }

            GrammarBuilder shuffleBuilder = new GrammarBuilder();

            shuffleBuilder.Append("shuffle all songs");
            choiceBuilder.Add(shuffleBuilder);


            // Playlists
            if (SongHelper.PlaylistCount() > 0)
            {
                GrammarBuilder playListBuilder = new GrammarBuilder();
                playListBuilder.Append("play playlist");
                playListBuilder.Append(SongHelper.GeneratePlaylistChoices());
                choiceBuilder.Add(playListBuilder);

                GrammarBuilder shufflePlayListBuilder = new GrammarBuilder();
                shufflePlayListBuilder.Append("shuffle playlist");
                shufflePlayListBuilder.Append(SongHelper.GeneratePlaylistChoices());
                choiceBuilder.Add(shufflePlayListBuilder);
            }

            Grammar gram = new Grammar(new GrammarBuilder(choiceBuilder));

            return(gram);
        }
Esempio n. 18
0
        public void CountWords_WhenSongIsNull_ShouldReturnZero()
        {
            var result = SongHelper.CountWords(null);

            result.Should().Be(0);
        }
Esempio n. 19
0
        private string ApplyFormat(SongInAlbum track, string format, ContentLanguagePreference languagePreference)
        {
            var album = track.Album;
            var sb    = new StringBuilder(format);

            sb.Replace("%album%", GetField(album.Names.SortNames[languagePreference]));
            sb.Replace("%artists%", GetField(track.Song.ArtistString[languagePreference]));
            sb.Replace("%discnumber%", track.DiscNumber.ToString());
            sb.Replace("%producers%", GetField(string.Join(", ", ArtistHelper.GetProducerNames(track.Song.Artists, SongHelper.IsAnimation(track.Song.SongType), languagePreference))));
            sb.Replace("%title%", GetField(track.Song.Names.SortNames[languagePreference]));
            sb.Replace("%track%", track.TrackNumber.ToString());
            sb.Replace("%vocalists%", GetField(string.Join(", ", ArtistHelper.GetVocalistNames(track.Song.Artists, languagePreference))));

            return(sb.ToString());
        }
Esempio n. 20
0
 public virtual void UpdateArtistString()
 {
     ArtistString = ArtistHelper.GetArtistString(Artists, SongHelper.IsAnimation(SongType));
 }
Esempio n. 21
0
        public SongDetails(SongDetailsContract contract, IUserPermissionContext userContext, PVHelper pvHelper)
        {
            ParamIs.NotNull(() => contract);

            Contract                   = contract;
            AdditionalNames            = contract.AdditionalNames;
            Albums                     = contract.Albums;
            AlternateVersions          = contract.AlternateVersions.Where(a => a.SongType != SongType.Original).ToArray();
            ArtistString               = contract.ArtistString;
            BrowsedAlbumId             = contract.Album?.Id;
            CanEdit                    = EntryPermissionManager.CanEdit(userContext, contract.Song);
            CanEditPersonalDescription = contract.CanEditPersonalDescription;
            CanRemoveTagUsages         = contract.CanRemoveTagUsages;
            CommentCount               = contract.CommentCount;
            CreateDate                 = contract.CreateDate;
            DefaultLanguageSelection   = contract.TranslatedName.DefaultLanguage;
            Deleted                    = contract.Deleted;
            Draft                     = contract.Song.Status == EntryStatus.Draft;
            FavoritedTimes            = contract.Song.FavoritedTimes;
            Hits                      = contract.Hits;
            Id                        = contract.Song.Id;
            IsFavorited               = contract.UserRating != SongVoteRating.Nothing;
            LatestComments            = contract.LatestComments;
            Length                    = contract.Song.LengthSeconds;
            LikedTimes                = contract.LikeCount;
            ListCount                 = contract.ListCount;
            Lyrics                    = contract.LyricsFromParents;
            MergedTo                  = contract.MergedTo;
            Name                      = contract.Song.Name;
            NicoId                    = contract.Song.NicoId;
            Notes                     = contract.Notes;
            OriginalVersion           = (contract.Song.SongType != SongType.Original ? contract.OriginalVersion : null);
            Pools                     = contract.Pools;
            PublishDate               = contract.Song.PublishDate;
            RatingScore               = contract.Song.RatingScore;
            ReleaseEvent              = contract.ReleaseEvent;
            PersonalDescriptionText   = contract.PersonalDescriptionText;
            PersonalDescriptionAuthor = contract.PersonalDescriptionAuthor;
            SongType                  = contract.Song.SongType;
            SongTypeTag               = contract.SongTypeTag;
            Status                    = contract.Song.Status;
            Suggestions               = contract.Suggestions;
            Tags                      = contract.Tags;
            UserRating                = contract.UserRating;
            WebLinks                  = contract.WebLinks.ToList();
            ContentFocus              = SongHelper.GetContentFocus(SongType);

            Animators    = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Animator)).ToArray();
            Bands        = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Band)).ToArray();
            Illustrators = ContentFocus == ContentFocus.Illustration ? contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Illustrator)).ToArray() : null;
            Performers   = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Vocalist)).ToArray();
            Producers    = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Producer)).ToArray();
            var subjectsForThis = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Subject)).ToArray();

            Subject      = subjectsForThis.Any() ? subjectsForThis : contract.SubjectsFromParents;
            OtherArtists = contract.Artists.Where(a => a.Categories.HasFlag(ArtistCategories.Circle) ||
                                                  a.Categories.HasFlag(ArtistCategories.Label) ||
                                                  a.Categories.HasFlag(ArtistCategories.Other) ||
                                                  (ContentFocus != ContentFocus.Illustration && a.Categories.HasFlag(ArtistCategories.Illustrator))).ToArray();

            var pvs = contract.PVs;

            OriginalPVs     = pvs.Where(p => p.PVType == PVType.Original).ToArray();
            OtherPVs        = pvs.Where(p => p.PVType != PVType.Original).ToArray();
            PrimaryPV       = pvHelper.PrimaryPV(pvs);
            ThumbUrl        = VideoServiceHelper.GetThumbUrlPreferNotNico(pvs);
            ThumbUrlMaxSize = VideoServiceHelper.GetMaxSizeThumbUrl(pvs) ?? ThumbUrl;

            if (PrimaryPV == null && !string.IsNullOrEmpty(NicoId))
            {
                PrimaryPV = new PVContract {
                    PVId = NicoId, Service = PVService.NicoNicoDouga
                }
            }
            ;

            if (pvs.All(p => p.Service != PVService.Youtube))
            {
                var nicoPV = VideoServiceHelper.PrimaryPV(pvs, PVService.NicoNicoDouga);
                var query  = HttpUtility.UrlEncode((nicoPV != null && !string.IsNullOrEmpty(nicoPV.Name))
                                        ? nicoPV.Name
                                        : $"{ArtistString} {Name}");

                WebLinks.Add(new WebLinkContract($"http://www.youtube.com/results?search_query={query}",
                                                 ViewRes.Song.DetailsStrings.SearchYoutube, WebLinkCategory.Other, disabled: false));
            }

            JsonModel = new SongDetailsAjax(this, contract.PreferredLyrics, contract.Song.Version);

            MinMilliBpm = contract.MinMilliBpm;
            MaxMilliBpm = contract.MaxMilliBpm;
        }
Esempio n. 22
0
 private string GetProducerStr(Song song, ContentLanguagePreference languagePreference)
 {
     return(string.Join(", ", ArtistHelper.GetProducerNames(song.Artists, SongHelper.GetContentFocus(song.SongType), languagePreference)));
 }
Esempio n. 23
0
        private string GetFieldValue(string fieldName, SongInAlbum track, ContentLanguagePreference languagePreference)
        {
            var album = track.Album;

            switch (fieldName.ToLowerInvariant())
            {
            // Album title
            case "album":
                return(album.Names.SortNames[languagePreference]);

            // Artists for album
            case "albumartist":
                return(album.ArtistString[languagePreference]);

            case "album artist":                     // foobar style
                return(album.ArtistString[languagePreference]);

            case "albummaincircle":
                var circle = ArtistHelper.GetMainCircle(album.Artists.ToArray(), AlbumHelper.IsAnimation(album.DiscType));
                return(circle != null ? circle.TranslatedName[languagePreference] : GetAlbumMainProducersStr(album, languagePreference));

            // Artists for song, both producers and vocalists
            case "artist":
                return(track.Song != null ? track.Song.ArtistString[languagePreference] : string.Empty);

            case "track artist":                     // foobar style
                return(track.Song != null ? track.Song.ArtistString[languagePreference] : string.Empty);

            case "catalognum":
                return(album.OriginalRelease != null ? album.OriginalRelease.CatNum : string.Empty);

            case "disccount":
                return((album.Songs.Any() ? album.Songs.Max(s => s.DiscNumber) : 0).ToString());

            // Disc number
            case "discnumber":
                return(track.DiscNumber.ToString());

            // List of vocalists, separated by comma, with "feat." in the beginning if there are any vocalists, otherwise empty.
            case "featvocalists":
                var vocalistStr = GetVocalistStr(track, languagePreference);
                return(vocalistStr.Any() ? " feat. " + vocalistStr : string.Empty);

            case "genres":
                return(string.Join(", ", SongHelper.GetGenreTags(track).Select(t => t.NameWithSpaces)));

            // List of producers
            case "producers":
                return(GetProducerStr(track, languagePreference));

            // Album release date
            case "releasedate":
                return(track.Album.OriginalReleaseDate.ToString());

            case "releaseyear":
                return(track.Album.OriginalReleaseDate.Year.ToString());

            case "releaseevent":
                return(album.OriginalReleaseEventName);

            // Song title
            case "title":
                return(track.Song != null ? track.Song.Names.SortNames[languagePreference] : track.Name);

            case "totaltrackcount":
                return(album.Songs.Count().ToString());

            // Track number
            case "track":
                return(track.TrackNumber.ToString());

            case "tracknumber":                     // foobar style
                return(track.TrackNumber.ToString());

            // List of vocalists, separated by comma.
            case "vocalists":
                return(GetVocalistStr(track, languagePreference));

            default:
                return(string.Empty);
            }
        }
Esempio n. 24
0
        private string GetProducerStr(SongInAlbum track, ContentLanguagePreference languagePreference)
        {
            if (track.Song == null)
            {
                return(string.Empty);
            }

            return(string.Join(", ", ArtistHelper.GetProducerNames(track.Song.Artists, SongHelper.IsAnimation(track.Song.SongType), languagePreference)));
        }
Esempio n. 25
0
 private Artist[] GetMainArtists(Song song, IList <IArtistLinkWithRoles> creditableArtists)
 {
     return(ArtistHelper.GetProducers(creditableArtists, SongHelper.GetContentFocus(song.SongType)).Select(a => a.Artist).ToArray());
 }
Esempio n. 26
0
        protected override string GetFieldValue(string fieldName, SongInAlbum track, ContentLanguagePreference languagePreference)
        {
            var album = track.Album;

            switch (fieldName)
            {
            // Album title
            case "album":
                return(album.Names.SortNames[languagePreference]);

            case "albumid":
                return(album.Id.ToString());

            // Artists for album
            case "albumartist":
                return(album.ArtistString[languagePreference]);

            case "album artist":                     // foobar style
                return(album.ArtistString[languagePreference]);

            case "albummaincircle":
                var circle = ArtistHelper.GetMainCircle(album.Artists.ToArray(), AlbumHelper.GetContentFocus(album.DiscType));
                return(circle != null ? circle.TranslatedName[languagePreference] : GetAlbumMainProducersStr(album, languagePreference));

            case "catalognum":
                return(album.OriginalRelease != null ? album.OriginalRelease.CatNum : string.Empty);

            case "disccount":
                return((album.Songs.Any() ? album.Songs.Max(s => s.DiscNumber) : 0).ToString());

            // Disc number
            case "discnumber":
                return(track.DiscNumber.ToString());

            case "genres":
                return(string.Join(", ", SongHelper.GetGenreTags(track).Select(t => t.Names.SortNames[languagePreference])));

            // Album release date
            case "releasedate":
                return(track.Album.OriginalReleaseDate.ToString());

            case "releaseyear":
                return(track.Album.OriginalReleaseDate.Year.ToString());

            case "releaseevent":
                return(album.OriginalReleaseEvent?.TranslatedName[languagePreference]);

            // Song title
            case "title":
                return(track.Song != null ? track.Song.Names.SortNames[languagePreference] : track.Name);

            case "totaltrackcount":
                return(album.Songs.Count().ToString());

            // Track number
            case "track":
                return(track.TrackNumber.ToString());

            case "tracknumber":                     // foobar style
                return(track.TrackNumber.ToString());

            default:
                return(GetFieldValue(fieldName, (ISongLink)track, languagePreference));
            }
        }
Esempio n. 27
0
        public bool IsValid(Song song, int instrumentalTagId)
        {
            ParamIs.NotNull(() => song);

            var errors = new List <string>();

            if (song.SongType == SongType.Unspecified)
            {
                errors.Add(SongValidationErrors.NeedType);
            }

            var derivedTypes = new[] { SongType.Remaster, SongType.Cover, SongType.Instrumental, SongType.MusicPV, SongType.Other, SongType.Remix };

            if (song.Notes.IsEmpty && !song.HasOriginalVersion && derivedTypes.Contains(song.SongType))
            {
                errors.Add(SongValidationErrors.NeedOriginal);
            }

            if (song.Artists.All(a => a.Artist == null))
            {
                errors.Add(SongValidationErrors.NeedArtist);
            }

            if (song.Names.Names.All(n => n.Language == ContentLanguageSelection.Unspecified))
            {
                errors.Add(SongValidationErrors.UnspecifiedNames);
            }

            if (song.SongType != SongType.Instrumental &&
                song.SongType != SongType.DramaPV &&
                !song.Tags.HasTag(instrumentalTagId) &&
                !ArtistHelper.GetVocalists(song.Artists.ToArray()).Any())
            {
                errors.Add(SongValidationErrors.NonInstrumentalSongNeedsVocalists);
            }

            if (!song.Artists.Any(a => a.Artist != null && ArtistHelper.IsProducerRole(a, SongHelper.GetContentFocus(song.SongType))))
            {
                errors.Add(SongValidationErrors.NeedProducer);
            }

            if (song.Artists.GroupBy(a => (a.Artist != null ? a.Artist.Id.ToString() : a.Name) + a.IsSupport).Any(a => a.Count() > 1))
            {
                errors.Add(SongValidationErrors.DuplicateArtist);
            }

            return(!errors.Any());
        }
Esempio n. 28
0
 private Artist[] GetMainArtists(Song song, IList <IArtistWithSupport> creditableArtists)
 {
     return(ArtistHelper.GetProducers(creditableArtists, SongHelper.IsAnimation(song.SongType)).Select(a => a.Artist).ToArray());
 }
Esempio n. 29
0
        public void HasLyrics_WhenSongIsNull_ShouldReturnFalse()
        {
            var result = SongHelper.HasLyrics(null);

            result.Should().BeFalse();
        }