Add all BENNC message types with unit tests
This commit is contained in:
46
tests/messages/packet.test.ts
Normal file
46
tests/messages/packet.test.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { packOutgoingPacket, unpackIncomingPacket } from '../../src/messages/packet'
|
||||
|
||||
test('Pack an outgoing packet.', () => {
|
||||
// Given
|
||||
const messageType = Buffer.from([0x12, 0x34])
|
||||
const data = Buffer.from([0x12, 0x34, 0x56, 0x78])
|
||||
|
||||
// When
|
||||
const packedPacket = packOutgoingPacket({
|
||||
messageType: messageType,
|
||||
data: data
|
||||
})
|
||||
|
||||
// Then
|
||||
const expectedResult = Buffer.from([
|
||||
// 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 = Buffer.from([
|
||||
// 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(Buffer.from([0x12, 0x34, 0x56, 0x78]))
|
||||
})
|
||||
Reference in New Issue
Block a user