import { packOutgoingPacket, unpackIncomingPacket } from '../../src/messages/packet' test('Pack an outgoing packet.', () => { // Given const messageType = new Uint8Array([0x12, 0x34]) const data = new Uint8Array([0x12, 0x34, 0x56, 0x78]) // When const packedPacket = packOutgoingPacket({ messageType: messageType, data: data }) // Then const expectedResult = new Uint8Array([ // Message type 0x12, 0x34, // Data length 0x00, 0x04, // Data 0x12, 0x34, 0x56, 0x78 ]) expect(packedPacket).toMatchObject(expectedResult) }) test('Unpack an incoming packet.', () => { // Given const incomingPacket = new Uint8Array([ // Message type 0x12, 0x34, // Sender ID 0xaa, 0xbb, 0xcc, 0xdd, // Data length 0x00, 0x04, // Data 0x12, 0x34, 0x56, 0x78 ]) // When const unpackedResult = unpackIncomingPacket(incomingPacket) // Then expect(unpackedResult.messageType).toBe(0x1234) expect(unpackedResult.senderId).toBe(0xaabbccdd) expect(unpackedResult.data).toMatchObject(new Uint8Array([0x12, 0x34, 0x56, 0x78])) })