public bool IsSatisfiedBy(AllRegisters registers) { var value = registers.GetRegister(Register); var result = false; switch (Comparison) { case Comparison.Equal: result = value == Amount; break; case Comparison.NotEqual: result = value != Amount; break; case Comparison.GreaterThan: result = value > Amount; break; case Comparison.GreaterThanOrEqual: result = value >= Amount; break; case Comparison.LessThan: result = value < Amount; break; case Comparison.LessThanOrEqual: result = value <= Amount; break; } return(result); }
public void Execute(AllRegisters registers) { var value = registers.GetRegister(Register); switch (Operation) { case Operation.Increment: registers.SetRegister(Register, value + Amount); break; case Operation.Decrement: registers.SetRegister(Register, value - Amount); break; } }