public void ShouldGenerateAbsoluteInstruction(CpuInstructions opcodeEnum, byte finalOpcode, int value)
{
CpuInstructionStatement instruction = new CpuInstructionStatement();
instruction.AddressingMode = CpuAddressingMode.Absolute;
instruction.Opcode = opcodeEnum;
instruction.Arguments.Add(new NumberInstructionArgument(value, ArgumentSize.Word));
List<CpuInstructionStatement> instructions = new List<CpuInstructionStatement>();
instructions.Add(instruction);
MemoryStream memoryStream = new MemoryStream(8);
CpuCodeGenerator generator = new CpuCodeGenerator(memoryStream);
generator.Instructions = instructions;
generator.Generate();
Assert.Equal(finalOpcode, memoryStream.GetBuffer()[0]);
Assert.Equal((byte)(value & 0xFF), memoryStream.GetBuffer()[1]);
Assert.Equal((byte)(value >> 8), memoryStream.GetBuffer()[2]);
}