def test_set_attribute(self): # Act orders = list(parse_orders(bytes.fromhex('28 41 f2'))) # Assert self.assertEqual(orders[0][0], Order.SA) self.assertIsInstance(orders[0][1][0], HighlightExtendedAttribute) self.assertTrue(orders[0][1][0].reverse)
def test_start_field(self): # Act orders = list(parse_orders(bytes.fromhex('1d f8'))) # Assert self.assertEqual(orders[0][0], Order.SF) self.assertIsInstance(orders[0][1][0], Attribute) self.assertEqual(orders[0][1][0].value, 0xf8)
def test(self): # Act orders = list(parse_orders(bytes.fromhex('11 4b f0 1d f8 c8 c5 d3 d3 d6 40 e6 d6 d9 d3 c4'))) # Assert self.assertEqual(orders[0], (Order.SBA, [752])) self.assertEqual(orders[1][0], Order.SF) self.assertIsInstance(orders[1][1][0], Attribute) self.assertEqual(orders[1][1][0].value, 0xf8) self.assertEqual(orders[2], (None, bytes.fromhex('c8 c5 d3 d3 d6 40 e6 d6 d9 d3 c4')))
def test_modify_field(self): # Act orders = list(parse_orders(bytes.fromhex('2c 02 c0 60 42 f1'))) # Assert self.assertEqual(orders[0][0], Order.MF) self.assertIsInstance(orders[0][1][0], Attribute) self.assertEqual(orders[0][1][0].value, 0x60) extended_attributes = orders[0][1][1] self.assertEqual(len(extended_attributes), 1) self.assertIsInstance(extended_attributes[0], ForegroundColorExtendedAttribute) self.assertEqual(extended_attributes[0].color, 0xf1)
def test_repeat_to_address_graphic_escape(self): self.assertEqual(list(parse_orders(bytes.fromhex('3c 4b f0 08 ad'))), [(Order.RA, [752, 0xad, True])])
def test_repeat_to_address(self): self.assertEqual(list(parse_orders(bytes.fromhex('3c 4b f0 c1'))), [(Order.RA, [752, 0xc1, False])])
def test_insert_cursor(self): self.assertEqual(list(parse_orders(bytes.fromhex('13'))), [(Order.IC, None)])
def test_erase_unprotected_to_address(self): self.assertEqual(list(parse_orders(bytes.fromhex('12 4b f0'))), [(Order.EUA, [752])])
def test_set_buffer_address(self): self.assertEqual(list(parse_orders(bytes.fromhex('11 4b f0'))), [(Order.SBA, [752])])
def test_graphic_escape(self): self.assertEqual(list(parse_orders(bytes.fromhex('08 ad'))), [(Order.GE, [0xad])])
def test_program_tab(self): self.assertEqual(list(parse_orders(bytes.fromhex('05'))), [(Order.PT, None)])
def test_modify_field(self): with self.assertRaises(NotImplementedError): list(parse_orders(bytes.fromhex('2c')))
def test_graphic_escape(self): with self.assertRaises(NotImplementedError): list(parse_orders(bytes.fromhex('08')))
def test_start_field_extended(self): with self.assertRaises(NotImplementedError): list(parse_orders(bytes.fromhex('29')))
def test_set_attribute(self): with self.assertRaises(NotImplementedError): list(parse_orders(bytes.fromhex('28')))