namespace X86DisassemblerTests; using System; using Xunit; using X86Disassembler.X86; /// /// Tests for INC instruction handlers /// public class IncInstructionTests { /// /// Tests the INC EAX instruction (0x40) /// [Fact] public void TestIncEax() { // Arrange byte[] code = { 0x40 }; // INC EAX // Act Disassembler disassembler = new Disassembler(code, 0x1000); var instructions = disassembler.Disassemble(); // Assert Assert.Single(instructions); Assert.Equal("inc", instructions[0].Mnemonic); Assert.Equal("eax", instructions[0].Operands); } /// /// Tests the INC ECX instruction (0x41) /// [Fact] public void TestIncEcx() { // Arrange byte[] code = { 0x41 }; // INC ECX // Act Disassembler disassembler = new Disassembler(code, 0x1000); var instructions = disassembler.Disassemble(); // Assert Assert.Single(instructions); Assert.Equal("inc", instructions[0].Mnemonic); Assert.Equal("ecx", instructions[0].Operands); } /// /// Tests the INC EDI instruction (0x47) /// [Fact] public void TestIncEdi() { // Arrange byte[] code = { 0x47 }; // INC EDI // Act Disassembler disassembler = new Disassembler(code, 0x1000); var instructions = disassembler.Disassemble(); // Assert Assert.Single(instructions); Assert.Equal("inc", instructions[0].Mnemonic); Assert.Equal("edi", instructions[0].Operands); } }