private List <OfficialDlcItem> RemapOfficialDlc(IEnumerable <OfficialDlcItem> dlcList)
        {
            var remapped = dlcList.Select(x => _dlcRemapper.Remap(x)).ToList();

            remapped.AddRange(_dlcRemapper.GetMissingEntries());
            return(remapped);
        }
        public void NoMissingEntriesReturnsEmptyList()
        {
            var remapEntries = new RemapOfficialEntries();

            var mapper = new OfficialDlcRemapper(remapEntries);

            mapper.GetMissingEntries().Count().ShouldBe(0);
        }
        public void MultipleMissingEntriesReturnsAllInList()
        {
            var songName1         = "dis one";
            var artistName1       = "joe";
            var originalSongPack1 = "thepack";

            var songName2         = "dat one";
            var artistName2       = "blow";
            var originalSongPack2 = "thepackage";

            var remapEntries = new RemapOfficialEntries();

            remapEntries.AddMissing.Add(
                new RemapOfficialEntries.MissingEntry {
                Artist = artistName1, Song = songName1, SongPack = originalSongPack1
            }
                );
            remapEntries.AddMissing.Add(
                new RemapOfficialEntries.MissingEntry {
                Artist = artistName2, Song = songName2, SongPack = originalSongPack2
            }
                );

            var mapper  = new OfficialDlcRemapper(remapEntries);
            var missing = mapper.GetMissingEntries().ToList();

            missing.Count().ShouldBe(2);

            var theFirst  = missing.Single(x => x.Artist == artistName1);
            var theSecond = missing.Single(x => x.Artist == artistName2);

            theFirst.Song.ShouldBe(songName1);
            theFirst.Artist.ShouldBe(artistName1);
            theFirst.SongPack.ShouldBe(originalSongPack1);

            theSecond.Song.ShouldBe(songName2);
            theSecond.Artist.ShouldBe(artistName2);
            theSecond.SongPack.ShouldBe(originalSongPack2);
        }
        public void SingleMissingEntryReturnsSingleItemInList()
        {
            var songName         = "dis one";
            var artistName       = "joe";
            var originalSongPack = "thepack";

            var remapEntries = new RemapOfficialEntries();

            remapEntries.AddMissing.Add(
                new RemapOfficialEntries.MissingEntry {
                Artist = artistName, Song = songName, SongPack = originalSongPack
            }
                );

            var mapper  = new OfficialDlcRemapper(remapEntries);
            var missing = mapper.GetMissingEntries().ToList();

            missing.Count().ShouldBe(1);
            missing[0].Song.ShouldBe(songName);
            missing[0].Artist.ShouldBe(artistName);
            missing[0].SongPack.ShouldBe(originalSongPack);
        }