public void TestGettingTheDiscTagsForACdStub()
        {
            var tagSource = new MusicBrainzTagSource(new MockMusicBrainzApi(), new MockCoverArtApi());

            var discTags = tagSource.GetTags(DummyData.AppelsEten.TableOfContents).ToList();

            Assert.That(discTags, Is.Not.Null);
            Assert.That(discTags.Count(), Is.EqualTo(1));

            var expectedAlbum = new AlbumIdentification
            {
                Id             = "S0liNSPBm5gjOHw9JtmPPDhXynI-", //Stub has a special Id
                AlbumArtist    = "Ketnet Band",
                AlbumTitle     = "Appels Eten",
                Year           = null,
                NumberOfTracks = 3
            };

            expectedAlbum.AddTrack(new TrackIdentification {
                Title = "Appels Eten q2", TrackNumber = 1
            });
            expectedAlbum.AddTrack(new TrackIdentification {
                Title = "Appels Eten Instrumental q2", TrackNumber = 2
            });
            expectedAlbum.AddTrack(new TrackIdentification {
                Title = "Appels Eten PB q2", TrackNumber = 3
            });

            AssertAlbum(discTags.First(), expectedAlbum);
        }
        public void TestGettingAnUnknownDiscId()
        {
            var tagSource = new MusicBrainzTagSource(new MockMusicBrainzApi(), new MockCoverArtApi());

            var discTags = tagSource.GetTags(DummyData.UnknownCd.TableOfContents).ToList();

            Assert.That(discTags.Count, Is.EqualTo(1));
            AssertAlbum(discTags.First(), AlbumIdentification.GetEmpty(2));
        }
        public void TestGetInfoForACdWithCoverArt()
        {
            var tagSource = new MusicBrainzTagSource(new MockMusicBrainzApi(), new MockCoverArtApi());

            var discTags = tagSource.GetTags(DummyData.MuchAgainstEveryonesAdvice.TableOfContents).ToList();

            foreach (var tag in discTags)
            {
                Assert.That(tag.AlbumArt, Is.EqualTo(DummyData.MuchAgainstEveryonesAdvice.AlbumArt[tag.Id]));
            }
        }
        public void TestGettingInfoForACdWithMultipleResults()
        {
            var tagSource = new MusicBrainzTagSource(new MockMusicBrainzApi(), new MockCoverArtApi());

            var discTags = tagSource.GetTags(DummyData.MuchAgainstEveryonesAdvice.TableOfContents).ToList();

            Assert.That(discTags.Count, Is.EqualTo(3));

            Assert.That(discTags.ElementAt(0).Id, Is.EqualTo("6d283259-8c9a-3558-9acc-d6c2e429c657"));
            Assert.That(discTags.ElementAt(1).Id, Is.EqualTo("7cf38b3b-d110-318a-ae18-1d4078c347ce"));
            Assert.That(discTags.ElementAt(2).Id, Is.EqualTo("d939579c-cd40-4dd7-8927-8030f7932cbc"));
        }
        public void TestGettingTheDiscTags()
        {
            var tagSource = new MusicBrainzTagSource(new MockMusicBrainzApi(), new MockCoverArtApi());

            var discTags = tagSource.GetTags(DummyData.SteekJeVingerInDeLucht.TableOfContents).ToList();

            Assert.That(discTags, Is.Not.Null);
            Assert.That(discTags.Count(), Is.EqualTo(1));
            Assert.That(discTags.First().Id, Is.EqualTo(DummyData.SteekJeVingerInDeLucht.MusicBrainzReleases.Keys.First()));
            Assert.That(discTags.First().AlbumArtist, Is.EqualTo("Jan De Smet"));
            Assert.That(discTags.First().AlbumTitle, Is.EqualTo("Steek Je vinger in de lucht"));
            Assert.That(discTags.First().Year, Is.EqualTo("2005"));
            Assert.That(discTags.First().NumberOfTracks, Is.EqualTo(14));
            Assert.That(discTags.First().Tracks.Count(), Is.EqualTo(14));
            Assert.That(discTags.First().Tracks.ElementAt(0).Title, Is.EqualTo("Alles Goed"));
            Assert.That(discTags.First().Tracks.ElementAt(0).Artist, Is.EqualTo("Jan De Smet"));
            Assert.That(discTags.First().Tracks.ElementAt(0).TrackNumber, Is.EqualTo(1));
            Assert.That(discTags.First().Tracks.ElementAt(13).Title, Is.EqualTo("Steek Je Vinger in de Lucht"));
            Assert.That(discTags.First().Tracks.ElementAt(13).Artist, Is.EqualTo("Jan De Smet"));
            Assert.That(discTags.First().Tracks.ElementAt(13).TrackNumber, Is.EqualTo(14));
        }