"""Tests for the opcodes module.""" import unittest import opcodes class TestOpcodes(unittest.TestCase): def test_equality(self): op1 = opcodes.Terminate() op2 = opcodes.Terminate() self.assertEqual(op1, op2) op1 = opcodes.Nop() op2 = opcodes.Nop() self.assertEqual(op1, op2) op1 = opcodes.Ack(aux_active=False) op2 = opcodes.Ack(aux_active=False) self.assertEqual(op1, op2) op1 = opcodes.Ack(aux_active=False) op2 = opcodes.Nop() self.assertNotEqual(op1, op2) op1 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) op2 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) self.assertEqual(op1, op2) # op2 has same payload but different opcode op1 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) op2 = opcodes.TICK_OPCODES[(6, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) self.assertNotEqual(op1, op2) # op2 has different content byte op1 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) op2 = opcodes.TICK_OPCODES[(4, 32)](0xfe, [0x01, 0x02, 0x03, 0x04]) self.assertNotEqual(op1, op2) # op2 has different offsets op1 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x04]) op2 = opcodes.TICK_OPCODES[(4, 32)](0xff, [0x01, 0x02, 0x03, 0x05]) self.assertNotEqual(op1, op2) if __name__ == '__main__': unittest.main()