+ d = a - b
+ e = a * b
+ f = -a
+ self.assertEqual(c.value, a.value + b.value)
+ self.assertEqual(d.value, (a.value - b.value) & 0xFF)
+ self.assertEqual(e.value, (a.value * b.value) & 0xFF)
+ self.assertEqual(f.value, (-a.value) & 0xFF)
+ self.assertEqual(c.bits, a.bits)
+ self.assertEqual(d.bits, a.bits)
+ self.assertEqual(e.bits, a.bits)
+
+ def test_logic(self):
+ a = SelectableInt(0x0F, 8)
+ b = SelectableInt(0xA5, 8)
+ c = a & b
+ d = a | b
+ e = a ^ b
+ f = ~a
+ self.assertEqual(c.value, a.value & b.value)
+ self.assertEqual(d.value, a.value | b.value)
+ self.assertEqual(e.value, a.value ^ b.value)
+ self.assertEqual(f.value, 0xF0)
+