private static void TestDisassembler(byte[] code, string source)
{
var reader = new MemoryStreamReader(code);
var disassembler = new X86Disassembler(reader);
var sourceLines = NormalizeSource(source).Split('\n');
var currentLine = 0;
while (reader.Position < reader.Length)
{
var instruction = disassembler.ReadNextInstruction();
var formattedInstruction = _formatter.FormatInstruction(instruction);
Assert.AreEqual(sourceLines[currentLine], formattedInstruction);
currentLine++;
}
}