public void Change3Tags_Successful()
{
// Init
var mp3Files = new List<IMp3File>
{
new FakeMp3File(new Mp3Tags(), SourceFolder + "1.newartist1 - newtitle1.mp3"),
new FakeMp3File(new Mp3Tags(), SourceFolder + "2.newartist2 - newtitle2.mp3"),
new FakeMp3File(new Mp3Tags(), SourceFolder + "3.newartist3 - newtitle3.mp3"),
};
// Act
var commandPool = mp3Files.Select(mp3File => new ChangeTagsCommand(mp3File, "{track}.{artist} - {title}")).Cast<Command>().ToList();
commandPool.ForEach(command => command.Execute());
// Assert
Assert.AreEqual("newartist1", mp3Files[0].Tags.Artist);
Assert.AreEqual("newartist2", mp3Files[1].Tags.Artist);
Assert.AreEqual("newartist3", mp3Files[2].Tags.Artist);
Assert.AreEqual("newtitle1", mp3Files[0].Tags.Title);
Assert.AreEqual("newtitle2", mp3Files[1].Tags.Title);
Assert.AreEqual("newtitle3", mp3Files[2].Tags.Title);
Assert.AreEqual((uint)1, mp3Files[0].Tags.Track);
Assert.AreEqual((uint)2, mp3Files[1].Tags.Track);
Assert.AreEqual((uint)3, mp3Files[2].Tags.Track);
}