def test_sna_write_structured_field(self): # Act (command, structured_fields) = parse_outbound_message( bytes.fromhex('f3 00 07 01 01 02 03 04 00 00 02 05 06 07')) # Assert self.assertEqual(command, Command.WSF) self.assertEqual([field[0] for field in structured_fields], [1, 2])
def test_sna_erase_write(self): # Act (command, wcc, orders) = parse_outbound_message(bytes.fromhex('f5 c3 11 4b f0 1d f8 c8 c5 d3 d3 d6 40 e6 d6 d9 d3 c4')) # Assert self.assertEqual(command, Command.EW) self.assertIsInstance(wcc, WCC) self.assertEqual(wcc.value, 0xc3) self.assertEqual([order[0] for order in orders], [Order.SBA, Order.SF, None])
def test_nop(self): self.assertEqual(parse_outbound_message(bytes.fromhex('03')), (Command.NOP, ))
def test_sna_read_buffer(self): self.assertEqual(parse_outbound_message(bytes.fromhex('f2')), (Command.RB, ))
def test_unrecognized_command(self): with self.assertRaisesRegex(ValueError, 'Unrecognized command 0x99'): parse_outbound_message(bytes.fromhex('99'))
def test_sna_all_unprotected(self): self.assertEqual(parse_outbound_message(bytes.fromhex('6f')), (Command.EAU, ))
def test_sna_read_modified_all(self): self.assertEqual(parse_outbound_message(bytes.fromhex('63')), (Command.RMA, ))
def test_read_modified(self): self.assertEqual(parse_outbound_message(bytes.fromhex('06')), (Command.RM, ))
def test_sna_write_structured_field(self): with self.assertRaises(NotImplementedError): parse_outbound_message(bytes.fromhex('f3'))
def test_sna_erase_write_alternate(self): with self.assertRaises(NotImplementedError): parse_outbound_message(bytes.fromhex('7e'))