Exemplo n.º 1
0
        public void TestGetTracks(NormalizedTrack normalizedTrack, Track yaTrack, bool expected, string msg = null)
        {
            var track = new YandexTracks(new[] { yaTrack }).FindEqualTrack(normalizedTrack);

            if (expected)
            {
                Assert.AreEqual(yaTrack, track, GetMessage(normalizedTrack, yaTrack, msg));
            }
            else
            {
                Assert.AreNotEqual(yaTrack, track, GetMessage(normalizedTrack, yaTrack, msg));
            }
        }
Exemplo n.º 2
0
 public Track FindEqualTrack(NormalizedTrack normalizedTrack)
 {
     return(tracks.FirstOrDefault(yaTrack =>
                                  yaTrack.Albums.Length > 0 &&
                                  BrutteEquals(yaTrack.Title, normalizedTrack.Title) &&
                                  yaTrack.Artists.Any(y => normalizedTrack.AllArtists.Any(v =>
     {
         var yLower = y.Name.ToLowerInvariant();
         var vLower = v.ToLowerInvariant();
         return OneContainsAnother(vLower, yLower) ||
         OneContainsAnother(BrutteNormalize(vLower), BrutteNormalize(yLower));
     }))));
 }
Exemplo n.º 3
0
 private string GetMessage(NormalizedTrack normalizedTrack, Track yaTrack, string msg)
 {
     return
         ($"#{msg}: {normalizedTrack.Artist}-{normalizedTrack.Title} vs {string.Join(", ", yaTrack.Artists.Select(x => x.Name))}-{yaTrack.Title}");
 }