Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/DecoderPluginInterface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* Representation of a Message
*/
export interface Message {
label?: string,
label: string,
sublabel?: string,
text: string,
}
Expand Down
15 changes: 8 additions & 7 deletions lib/plugins/Label_10_LDR.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Label_10_LDR } from './Label_10_LDR';

describe('Label_10_LDR', () => {
let plugin: Label_10_LDR;
const message = {label: '10', text: ''};

beforeEach(() => {
const decoder = new MessageDecoder();
Expand All @@ -20,8 +21,8 @@ describe('Label_10_LDR', () => {
});

test('decodes Label 10 Preamble LDR variant 1', () => {
const text = 'LDR01,189,C,SWA-2600-016,0,N 38.151,W 76.623,37003, 10.2,KATL,KLGA,KLGA,22/,/,/,0,0,,,,,,,0,0,0,00,,135.1,08.6,143.7,,,'
const decodeResult = plugin.decode({ text: text });
message.text = 'LDR01,189,C,SWA-2600-016,0,N 38.151,W 76.623,37003, 10.2,KATL,KLGA,KLGA,22/,/,/,0,0,,,,,,,0,0,0,00,,135.1,08.6,143.7,,,';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -42,8 +43,8 @@ describe('Label_10_LDR', () => {
});

test('decodes Label 10 Preamble LDR variant 2', () => {
const text = 'LDR01,189,C,SWA-2600-016,0,N 37.873,W 79.541,30998, 16.6,KBNA,KBOS,KBOS,27/,33L/,22L/,0,1,,,,,,,0,0,0,00,,131.2,11.4,142.6,,,'
const decodeResult = plugin.decode({ text: text });
message.text = 'LDR01,189,C,SWA-2600-016,0,N 37.873,W 79.541,30998, 16.6,KBNA,KBOS,KBOS,27/,33L/,22L/,0,1,,,,,,,0,0,0,00,,131.2,11.4,142.6,,,';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -68,13 +69,13 @@ describe('Label_10_LDR', () => {

test('decodes Label 10 Preamble LDR <invalid>', () => {

const text = 'LDR Bogus Message';
const decodeResult = plugin.decode({ text: text });
message.text = 'LDR Bogus Message';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
expect(decodeResult.decoder.name).toBe('label-10-ldr');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
});
});
11 changes: 6 additions & 5 deletions lib/plugins/Label_10_POS.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Label_10_POS } from './Label_10_POS';

describe('Label_10_POS', () => {
let plugin: Label_10_POS;
const message = {label: '10', text: ''};

beforeEach(() => {
const decoder = new MessageDecoder();
Expand All @@ -20,8 +21,8 @@ describe('Label_10_POS', () => {
});

test('decodes Label 10 Preamble POS variant 1', () => {
const text = 'POS082150, N 3885,W 7841,---,308,26922, 51,22290, 529, 19,-225,6'
const decodeResult = plugin.decode({ text: text });
message.text = 'POS082150, N 3885,W 7841,---,308,26922, 51,22290, 529, 19,-225,6'
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -35,13 +36,13 @@ describe('Label_10_POS', () => {

test('decodes Label 10 Preamble POS <invalid>', () => {

const text = 'POS Bogus Message';
const decodeResult = plugin.decode({ text: text });
message.text = 'POS Bogus Message';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
expect(decodeResult.decoder.name).toBe('label-10-pos');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
});
});
15 changes: 8 additions & 7 deletions lib/plugins/Label_10_Slash.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Label_10_Slash } from './Label_10_Slash';

describe('Label_10_Slash', () => {
let plugin: Label_10_Slash;
const message = {label: '10', text: ''};

beforeEach(() => {
const decoder = new MessageDecoder();
Expand All @@ -20,8 +21,8 @@ describe('Label_10_Slash', () => {
});

test('decodes Label 10 Preamble / variant 1', () => {
const text = '/N39.182/W077.217/10/0.42/180/055/KIAD/0004/0028/00015/MOWAT/HUSEL/2349/YACKK/2352/'
const decodeResult = plugin.decode({ text: text });
message.text = '/N39.182/W077.217/10/0.42/180/055/KIAD/0004/0028/00015/MOWAT/HUSEL/2349/YACKK/2352/'
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -42,8 +43,8 @@ describe('Label_10_Slash', () => {
});

test('decodes Label 10 Preamble / variant 2', () => {
const text = '/N39.019/W078.468/10/0.83/246/400/KCVG/0155/0073/00018/COLNS/STEVY/0120/FAIIR/0126/KTEB/'
const decodeResult = plugin.decode({ text: text });
message.text = '/N39.019/W078.468/10/0.83/246/400/KCVG/0155/0073/00018/COLNS/STEVY/0120/FAIIR/0126/KTEB/'
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -68,13 +69,13 @@ describe('Label_10_Slash', () => {

test('decodes Label 10 Preamble / <invalid>', () => {

const text = '/Bogus Message/';
const decodeResult = plugin.decode({ text: text });
message.text = '/Bogus Message/';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
expect(decodeResult.decoder.name).toBe('label-10-slash');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
});
});
19 changes: 10 additions & 9 deletions lib/plugins/Label_12_N_Space.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Label_12_N_Space } from './Label_12_N_Space';

describe('Label_12_N_Space', () => {
let plugin: Label_12_N_Space;
const message = {label: '12', text: ''};

beforeEach(() => {
const decoder = new MessageDecoder();
Expand All @@ -20,14 +21,14 @@ describe('Label_12_N_Space', () => {
});

test('decodes variant 1', () => {
const text = 'N 42.150,W121.187,39000,161859, 109,.C-GWSO,1742';
const decodeResult = plugin.decode({ text: text });
message.text = 'N 42.150,W121.187,39000,161859, 109,.C-GWSO,1742';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
expect(decodeResult.decoder.name).toBe('label-12-n-space');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
expect(decodeResult.raw.position.latitude).toBe(42.150);
expect(decodeResult.raw.position.longitude).toBe(-121.187);
expect(decodeResult.raw.altitude).toBe(39000);
Expand All @@ -43,14 +44,14 @@ describe('Label_12_N_Space', () => {
});

test('decodes variant 2', () => {
const text = 'N 28.371,W 80.458,38000,170546, 100,.C-GVWJ,1736';
const decodeResult = plugin.decode({ text: text });
message.text = 'N 28.371,W 80.458,38000,170546, 100,.C-GVWJ,1736';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
expect(decodeResult.decoder.name).toBe('label-12-n-space');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
expect(decodeResult.raw.position.latitude).toBe(28.371);
expect(decodeResult.raw.position.longitude).toBe(-80.458);
expect(decodeResult.raw.altitude).toBe(38000);
Expand All @@ -66,13 +67,13 @@ describe('Label_12_N_Space', () => {
});

test('does not decode <invalid>', () => {
const text = 'N Bogus message';
const decodeResult = plugin.decode({ text: text });
message.text = 'N Bogus message';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
expect(decodeResult.decoder.name).toBe('label-12-n-space');
expect(decodeResult.formatted.description).toBe('Position Report');
expect(decodeResult.message.text).toBe(text);
expect(decodeResult.message).toBe(message);
});
});
9 changes: 5 additions & 4 deletions lib/plugins/Label_12_POS.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Label_12_POS } from './Label_12_POS';
describe('Label 12 POS', () => {

let plugin: Label_12_POS;
const message = {label: '12', text: ''};

beforeEach(() => {
const decoder = new MessageDecoder();
Expand All @@ -23,9 +24,9 @@ describe('Label 12 POS', () => {


test('decodes msg 1', () => {
const text = 'POSN 390104W 754601,-------,1244,1446,,- 4,23249 12,FOB 73,ETA 1303,KATL,KPHL,';
message.text = 'POSN 390104W 754601,-------,1244,1446,,- 4,23249 12,FOB 73,ETA 1303,KATL,KPHL,';

const decodeResult = plugin.decode({ text: text });
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
Expand All @@ -50,8 +51,8 @@ describe('Label 12 POS', () => {

test('decodes <invalid>', () => {

const text = 'POS Bogus message';
const decodeResult = plugin.decode({ text: text });
message.text = 'POS Bogus message';
const decodeResult = plugin.decode(message);

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
Expand Down
Loading