Renamed tests so they're executed in order.
Add tests for 16,17.
This commit is contained in:
@@ -19,7 +19,7 @@ export class DPT10 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): Date {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
const [dnh, minutes, seconds] = buffer;
|
||||
const dow = (dnh & 0b11100000) >> 5;
|
||||
|
||||
@@ -16,7 +16,7 @@ export class DPT11 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): Date {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
const day = buffer[0] & 31; //0b00011111);
|
||||
const month = buffer[1] & 15; //0b00001111);
|
||||
|
||||
@@ -17,7 +17,7 @@ export class DPT12 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
return buffer.readUInt32BE(0);
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@ export class DPT13 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
// In 4 bytes, there's no way to exceed the range
|
||||
return buffer.readInt32BE(0)
|
||||
|
||||
@@ -17,7 +17,7 @@ export class DPT14 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
return buffer.readFloatBE(0);
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ export class DPT15 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): DPT15Result {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
const result: DPT15Result = {
|
||||
U: (buffer[0] & 0xf0) >> 4,
|
||||
|
||||
@@ -16,7 +16,7 @@ export class DPT16 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): string {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
|
||||
return buffer.toString('ascii');
|
||||
|
||||
@@ -16,7 +16,7 @@ export class DPT17 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
// Scene number between 0 and 63
|
||||
return buffer.readUInt8(0) & 0b00111111;
|
||||
|
||||
@@ -21,7 +21,7 @@ export class DPT18 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): DPT18Result {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
|
||||
return {
|
||||
|
||||
@@ -102,7 +102,7 @@ export class DPT19 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): DPT19Result {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
const byte8 = buffer.readUInt8(0)
|
||||
const byte7 = buffer.readUInt8(1)
|
||||
|
||||
@@ -29,7 +29,7 @@ export class DPT20 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
return buffer.readUInt8(0);
|
||||
};
|
||||
|
||||
@@ -28,7 +28,7 @@ export class DPT21 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): boolean[] {
|
||||
if (buffer.length !== 2)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected 2.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected 2.`);
|
||||
|
||||
const result = [
|
||||
!!(buffer[0] & 0x80),
|
||||
|
||||
@@ -17,7 +17,7 @@ export class DPT237 implements DPT {
|
||||
*/
|
||||
decoder(buffer: Buffer): number {
|
||||
if (buffer.length !== this.bufferLength)
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer} for DPT8. Expected ${this.bufferLength}.`);
|
||||
throw new BufferLengthError(`Invalid buffer length ${buffer.length}/${buffer}. Expected ${this.bufferLength}.`);
|
||||
|
||||
return value;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user