Renamed tests so they're executed in order.

Add tests for 16,17.
This commit is contained in:
2022-03-11 12:09:49 +01:00
parent a998ec05ee
commit 28e90a35ff
36 changed files with 149 additions and 58 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
};

View File

@@ -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)

View File

@@ -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);
};

View File

@@ -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,

View File

@@ -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');

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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)

View File

@@ -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);
};

View File

@@ -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),

View File

@@ -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;
};