public void Analyse_ManyDifferences_SuccessfulAnalyse()
{
// Init
const string sourceFolder = @"D:\music\";
var mp3Files = new List<IMp3File>
{
new FakeMp3File(new Mp3Tags
{
Artist = "Alla", Title = "Arlekino", Track = 1
}, sourceFolder + "2. Alla - Sneg.mp3"),
new FakeMp3File(new Mp3Tags
{
Artist = "Filipp", Title = "Sneg", Track = 2
}, sourceFolder + "2. Alla - Arlekino.mp3")
};
var fakeWriter = new FakeWorker();
var commandPool = mp3Files.Select(mp3File => new AnalyseCommand(mp3File, "{track}. {artist} - {title}", fakeWriter)).Cast<Command>().ToList();
// Act
commandPool.ForEach(command => command.Execute());
// Asert
Assert.AreEqual("File: " + mp3Files[0].FullName + "\n" +
"{track} in file name: 2; {track} in tags: 1\n" +
"{title} in file name: Sneg; {title} in tags: Arlekino\n\n" +
"File: " + mp3Files[1].FullName + "\n" +
"{artist} in file name: Alla; {artist} in tags: Filipp\n" +
"{title} in file name: Arlekino; {title} in tags: Sneg\n\n",
fakeWriter.Stream.ToString());
}