InstructionTests.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Lua.Runtime;
  2. namespace Lua.Tests;
  3. public class InstructionTests
  4. {
  5. [Test]
  6. public void Test()
  7. {
  8. var instruction = new Instruction();
  9. instruction.OpCode = OpCode.LoadK;
  10. Assert.That(instruction.OpCode, Is.EqualTo(OpCode.LoadK));
  11. instruction.A = 1;
  12. instruction.B = 2;
  13. instruction.C = 3;
  14. Assert.Multiple(() =>
  15. {
  16. Assert.That(instruction.A, Is.EqualTo(1));
  17. Assert.That(instruction.B, Is.EqualTo(2));
  18. Assert.That(instruction.C, Is.EqualTo(3));
  19. Assert.That(instruction.OpCode, Is.EqualTo(OpCode.LoadK));
  20. });
  21. instruction.Bx = 4;
  22. Assert.Multiple(() =>
  23. {
  24. Assert.That(instruction.Bx, Is.EqualTo(4));
  25. Assert.That(instruction.OpCode, Is.EqualTo(OpCode.LoadK));
  26. });
  27. instruction.SBx = -4;
  28. Assert.Multiple(() =>
  29. {
  30. Assert.That(instruction.SBx, Is.EqualTo(-4));
  31. Assert.That(instruction.OpCode, Is.EqualTo(OpCode.LoadK));
  32. });
  33. instruction.Ax = 5;
  34. Assert.Multiple(() =>
  35. {
  36. Assert.That(instruction.Ax, Is.EqualTo(5));
  37. Assert.That(instruction.OpCode, Is.EqualTo(OpCode.LoadK));
  38. });
  39. }
  40. }