Skip to content

Commit fa66aca

Browse files
authored
Require label for Message (#322)
1 parent dc7fb53 commit fa66aca

66 files changed

Lines changed: 897 additions & 858 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/DecoderPluginInterface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Representation of a Message
33
*/
44
export interface Message {
5-
label?: string,
5+
label: string,
66
sublabel?: string,
77
text: string,
88
}

lib/plugins/Label_10_LDR.test.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Label_10_LDR } from './Label_10_LDR';
33

44
describe('Label_10_LDR', () => {
55
let plugin: Label_10_LDR;
6+
const message = {label: '10', text: ''};
67

78
beforeEach(() => {
89
const decoder = new MessageDecoder();
@@ -20,8 +21,8 @@ describe('Label_10_LDR', () => {
2021
});
2122

2223
test('decodes Label 10 Preamble LDR variant 1', () => {
23-
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,,,'
24-
const decodeResult = plugin.decode({ text: text });
24+
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,,,';
25+
const decodeResult = plugin.decode(message);
2526

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

4445
test('decodes Label 10 Preamble LDR variant 2', () => {
45-
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,,,'
46-
const decodeResult = plugin.decode({ text: text });
46+
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,,,';
47+
const decodeResult = plugin.decode(message);
4748

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

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

71-
const text = 'LDR Bogus Message';
72-
const decodeResult = plugin.decode({ text: text });
72+
message.text = 'LDR Bogus Message';
73+
const decodeResult = plugin.decode(message);
7374

7475
expect(decodeResult.decoded).toBe(false);
7576
expect(decodeResult.decoder.decodeLevel).toBe('none');
7677
expect(decodeResult.decoder.name).toBe('label-10-ldr');
7778
expect(decodeResult.formatted.description).toBe('Position Report');
78-
expect(decodeResult.message.text).toBe(text);
79+
expect(decodeResult.message).toBe(message);
7980
});
8081
});

lib/plugins/Label_10_POS.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Label_10_POS } from './Label_10_POS';
33

44
describe('Label_10_POS', () => {
55
let plugin: Label_10_POS;
6+
const message = {label: '10', text: ''};
67

78
beforeEach(() => {
89
const decoder = new MessageDecoder();
@@ -20,8 +21,8 @@ describe('Label_10_POS', () => {
2021
});
2122

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

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

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

38-
const text = 'POS Bogus Message';
39-
const decodeResult = plugin.decode({ text: text });
39+
message.text = 'POS Bogus Message';
40+
const decodeResult = plugin.decode(message);
4041

4142
expect(decodeResult.decoded).toBe(false);
4243
expect(decodeResult.decoder.decodeLevel).toBe('none');
4344
expect(decodeResult.decoder.name).toBe('label-10-pos');
4445
expect(decodeResult.formatted.description).toBe('Position Report');
45-
expect(decodeResult.message.text).toBe(text);
46+
expect(decodeResult.message).toBe(message);
4647
});
4748
});

lib/plugins/Label_10_Slash.test.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Label_10_Slash } from './Label_10_Slash';
33

44
describe('Label_10_Slash', () => {
55
let plugin: Label_10_Slash;
6+
const message = {label: '10', text: ''};
67

78
beforeEach(() => {
89
const decoder = new MessageDecoder();
@@ -20,8 +21,8 @@ describe('Label_10_Slash', () => {
2021
});
2122

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

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

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

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

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

71-
const text = '/Bogus Message/';
72-
const decodeResult = plugin.decode({ text: text });
72+
message.text = '/Bogus Message/';
73+
const decodeResult = plugin.decode(message);
7374

7475
expect(decodeResult.decoded).toBe(false);
7576
expect(decodeResult.decoder.decodeLevel).toBe('none');
7677
expect(decodeResult.decoder.name).toBe('label-10-slash');
7778
expect(decodeResult.formatted.description).toBe('Position Report');
78-
expect(decodeResult.message.text).toBe(text);
79+
expect(decodeResult.message).toBe(message);
7980
});
8081
});

lib/plugins/Label_12_N_Space.test.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Label_12_N_Space } from './Label_12_N_Space';
33

44
describe('Label_12_N_Space', () => {
55
let plugin: Label_12_N_Space;
6+
const message = {label: '12', text: ''};
67

78
beforeEach(() => {
89
const decoder = new MessageDecoder();
@@ -20,14 +21,14 @@ describe('Label_12_N_Space', () => {
2021
});
2122

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

2627
expect(decodeResult.decoded).toBe(true);
2728
expect(decodeResult.decoder.decodeLevel).toBe('partial');
2829
expect(decodeResult.decoder.name).toBe('label-12-n-space');
2930
expect(decodeResult.formatted.description).toBe('Position Report');
30-
expect(decodeResult.message.text).toBe(text);
31+
expect(decodeResult.message).toBe(message);
3132
expect(decodeResult.raw.position.latitude).toBe(42.150);
3233
expect(decodeResult.raw.position.longitude).toBe(-121.187);
3334
expect(decodeResult.raw.altitude).toBe(39000);
@@ -43,14 +44,14 @@ describe('Label_12_N_Space', () => {
4344
});
4445

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

4950
expect(decodeResult.decoded).toBe(true);
5051
expect(decodeResult.decoder.decodeLevel).toBe('partial');
5152
expect(decodeResult.decoder.name).toBe('label-12-n-space');
5253
expect(decodeResult.formatted.description).toBe('Position Report');
53-
expect(decodeResult.message.text).toBe(text);
54+
expect(decodeResult.message).toBe(message);
5455
expect(decodeResult.raw.position.latitude).toBe(28.371);
5556
expect(decodeResult.raw.position.longitude).toBe(-80.458);
5657
expect(decodeResult.raw.altitude).toBe(38000);
@@ -66,13 +67,13 @@ describe('Label_12_N_Space', () => {
6667
});
6768

6869
test('does not decode <invalid>', () => {
69-
const text = 'N Bogus message';
70-
const decodeResult = plugin.decode({ text: text });
70+
message.text = 'N Bogus message';
71+
const decodeResult = plugin.decode(message);
7172

7273
expect(decodeResult.decoded).toBe(false);
7374
expect(decodeResult.decoder.decodeLevel).toBe('none');
7475
expect(decodeResult.decoder.name).toBe('label-12-n-space');
7576
expect(decodeResult.formatted.description).toBe('Position Report');
76-
expect(decodeResult.message.text).toBe(text);
77+
expect(decodeResult.message).toBe(message);
7778
});
7879
});

lib/plugins/Label_12_POS.test.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Label_12_POS } from './Label_12_POS';
44
describe('Label 12 POS', () => {
55

66
let plugin: Label_12_POS;
7+
const message = {label: '12', text: ''};
78

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

2425

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

28-
const decodeResult = plugin.decode({ text: text });
29+
const decodeResult = plugin.decode(message);
2930

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

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

53-
const text = 'POS Bogus message';
54-
const decodeResult = plugin.decode({ text: text });
54+
message.text = 'POS Bogus message';
55+
const decodeResult = plugin.decode(message);
5556

5657
expect(decodeResult.decoded).toBe(false);
5758
expect(decodeResult.decoder.decodeLevel).toBe('none');

0 commit comments

Comments
 (0)