public void WhenArtistAndSongRemappedBothChange() { var originalSongName = "dis one"; var artistName = "joe"; var newArtistName = "doug"; var newSongName = "dee other one"; var remapEntries = new RemapOfficialEntries(); remapEntries.Entries.Add(new RemapOfficialEntries.Entry { Artist = artistName, NewArtist = newArtistName, Song = originalSongName, NewSong = newSongName }); var mapper = new OfficialDlcRemapper(remapEntries); var officialDlcItem = new OfficialDlcItem { Artist = artistName, Song = originalSongName, SongPack = "blah", Genre = "hippy", Year = "1969" }; var remapped = mapper.Remap(officialDlcItem); remapped.Artist.ShouldBe(newArtistName); remapped.Song.ShouldBe(newSongName); officialDlcItem.Artist.ShouldBe(artistName); officialDlcItem.Song.ShouldBe(originalSongName); }
public void WhenArtistDoesNotMatchNothingChanges() { var originalSongName = "dis one"; var artistNameToRemap = "joe"; var originalSongPack = "thepack"; var newArtistName = "doug"; var newSongName = "dee other one"; var newSongPack = "ivechanged"; var artistNameDoesntMatch = "freddy"; var remapEntries = new RemapOfficialEntries(); remapEntries.Entries.Add(new RemapOfficialEntries.Entry { Artist = artistNameToRemap, NewArtist = newArtistName, Song = originalSongName, NewSong = newSongName, NewSongPack = newSongPack }); var mapper = new OfficialDlcRemapper(remapEntries); var officialDlcItem = new OfficialDlcItem { Artist = artistNameDoesntMatch, Song = originalSongName, SongPack = originalSongPack, Genre = "hippy", Year = "1969" }; var remapped = mapper.Remap(officialDlcItem); remapped.Artist.ShouldBe(artistNameDoesntMatch); remapped.Song.ShouldBe(originalSongName); remapped.SongPack.ShouldBe(originalSongPack); officialDlcItem.Artist.ShouldBe(artistNameDoesntMatch); officialDlcItem.Song.ShouldBe(originalSongName); officialDlcItem.SongPack.ShouldBe(originalSongPack); }
public void IfArtistAndSongAndNoChangesSpecifiedThenNothingChanges() { var originalSongName = "dis one"; var artistNameToRemap = "joe"; var originalSongPack = "thepack"; var remapEntries = new RemapOfficialEntries(); remapEntries.Entries.Add(new RemapOfficialEntries.Entry { Artist = artistNameToRemap, Song = originalSongName }); var mapper = new OfficialDlcRemapper(remapEntries); var officialDlcItem = new OfficialDlcItem { Artist = artistNameToRemap, Song = originalSongName, SongPack = originalSongPack, Genre = "hippy", Year = "1969" }; var remapped = mapper.Remap(officialDlcItem); remapped.Artist.ShouldBe(artistNameToRemap); remapped.Song.ShouldBe(originalSongName); remapped.SongPack.ShouldBe(originalSongPack); officialDlcItem.Artist.ShouldBe(artistNameToRemap); officialDlcItem.Song.ShouldBe(originalSongName); officialDlcItem.SongPack.ShouldBe(originalSongPack); }
public void NoMissingEntriesReturnsEmptyList() { var remapEntries = new RemapOfficialEntries(); var mapper = new OfficialDlcRemapper(remapEntries); mapper.GetMissingEntries().Count().ShouldBe(0); }
public OfficialDlcRemapper(RemapOfficialEntries remapOfficialEntries) { if (remapOfficialEntries.Entries.Any(x => string.IsNullOrWhiteSpace(x.Artist))) { throw new ApplicationException("Each remapping entry required at least the Artist field specified"); } _remapOfficialEntries = remapOfficialEntries; _entriesByArtist = _remapOfficialEntries.Entries.ToLookup(x => x.Artist); }
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); }
private OfficialDlcList GetOfficialDlcList(string officialDlcSource, string xpathSelector, RemapOfficialEntries remapOfficialEntries) { var officialDlcRemapper = new OfficialDlcRemapper(remapOfficialEntries); var officialDlcFinder = new OfficialDlcFinder(officialDlcRemapper, xpathSelector, DlcSortCalculatorOracle.GetDefaultDlcSortCalculator()); return(officialDlcFinder.GetOfficialDlcList(officialDlcSource)); }