def test_decode_valid_unicast_packet_with_multibyte_source_and_address( self): expectedAsbPacket = AsbPacket(meta=AsbMeta(type=0x02, port=0x42, source=0x1234, target=0x5678), length=2, data=[0xAA, 0xBB]) decodedPacket = decodeAsbPacket("256781234422AABB") self.assertEqual(expectedAsbPacket, decodedPacket)
def test_encode_valid_multicast_packet(self): expectedAsbPacket = b"1BAFF2511" encodedPacket = encodeAsbPacket( AsbPacket(meta=AsbMeta(type=0x01, port=0xFF, source=0x000A, target=0x000B), length=2, data=[0x51, 0x01])) self.assertEqual(expectedAsbPacket, encodedPacket)
def test_encode_valid_multicast_packet_without_data(self): expectedAsbPacket = b"1BBAAFF0" encodedPacket = encodeAsbPacket( AsbPacket(meta=AsbMeta(type=0x01, port=0xFF, source=0x00AA, target=0x00BB), length=0, data=[])) self.assertEqual(expectedAsbPacket, encodedPacket)
def test_encode_valid_multicast_packet_with_eight_byte_data(self): expectedAsbPacket = b"156781234FF8AABBCCDDEEFF12" encodedPacket = encodeAsbPacket( AsbPacket(meta=AsbMeta(type=0x01, port=0x00, source=0x1234, target=0x5678), length=8, data=[0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x01, 0x02])) self.assertEqual(expectedAsbPacket, encodedPacket)
def test_encode_valid_multicast_packet_with_zero_port_which_becomes_ff( self): expectedAsbPacket = b"156781234FF2AABB" encodedPacket = encodeAsbPacket( AsbPacket(meta=AsbMeta(type=0x01, port=0x00, source=0x1234, target=0x5678), length=2, data=[0xAA, 0xBB])) self.assertEqual(expectedAsbPacket, encodedPacket)