public void Change1Tags_Successful()
{
// Init
var mp3Files = new List<IMp3File>
{
new FakeMp3File(new Mp3Tags{Title = "title1"}, SourceFolder + "1. newtitle1.mp3"),
new FakeMp3File(new Mp3Tags{Title = "title2"}, SourceFolder + "2. newtitle2.mp3"),
new FakeMp3File(new Mp3Tags{Title = "title3"}, SourceFolder + "3. newtitle3.mp3"),
};
// Act
var commandPool = mp3Files.Select(mp3File => new ChangeTagsCommand(mp3File, "{track}. {title}")).Cast<Command>().ToList();
commandPool.ForEach(command => command.Execute());
// Assert
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);
}