knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
27 lines (23 loc) • 1 kB
text/typescript
import { describe, test } from 'node:test'
import assert from 'node:assert/strict'
import DPT1 from '../../src/dptlib/dpt1'
describe('DPT1 (1-bit value)', () => {
describe('formatAPDU', () => {
test('should handle numeric values', () => {
// Zero should be converted to 0
assert.deepEqual(DPT1.formatAPDU(0), Buffer.from([0]))
assert.deepEqual(DPT1.formatAPDU('0'), Buffer.from([0]))
// Any non-zero number should be converted to 1
assert.deepEqual(DPT1.formatAPDU(1), Buffer.from([1]))
assert.deepEqual(DPT1.formatAPDU('1'), Buffer.from([1]))
assert.deepEqual(DPT1.formatAPDU(42), Buffer.from([1]))
assert.deepEqual(DPT1.formatAPDU('42'), Buffer.from([1]))
})
test('should handle boolean values', () => {
assert.deepEqual(DPT1.formatAPDU(true), Buffer.from([1]))
assert.deepEqual(DPT1.formatAPDU(false), Buffer.from([0]))
assert.deepEqual(DPT1.formatAPDU('true'), Buffer.from([1]))
assert.deepEqual(DPT1.formatAPDU('false'), Buffer.from([0]))
})
})
})