public void Analyse_Common_Successful()
{
// Init
const string sourceFolder = @"D:\music\";
var mp3Files = new List<IMp3File>
{
new FakeMp3File(new Mp3Tags
{
Album = "TestAlbum1", Artist = "TestArtist1", Genre = "TestGenre1", Title = "TestTitle1", Track = 1
}, sourceFolder + "TestArtist1 - TestTitle2.mp3"),
new FakeMp3File(new Mp3Tags
{
Album = "TestAlbum2", Artist = "TestArtist2", Genre = "TestGenre2", Title = "TestTitle2", Track = 2
}, sourceFolder + "TestArtist2 - TestTitle2.mp3"),
};
var fakeWriter = new FakeWorker();
var commandPool = mp3Files.Select(mp3File => new AnalyseCommand(mp3File, "{artist} - {title}", fakeWriter)).Cast<Command>().ToList();
// Act
commandPool.ForEach(command => command.Execute());
// Assert
Assert.AreEqual("File: " + mp3Files[0].FullName + "\n" +
"{title} in file name: TestTitle2; {title} in tags: TestTitle1\n\n", fakeWriter.Stream.ToString());
}