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
38 changes: 23 additions & 15 deletions lib/plugins/Label_H1_FPN.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ describe('Label_H1 FPN', () => {
expect(decodeResult.decoder.decodeLevel).toBe('partial');
expect(decodeResult.raw.message_timestamp).toBe(1708178417);
expect(decodeResult.formatted.description).toBe('Flight Plan');
expect(decodeResult.formatted.items.length).toBe(10);
expect(decodeResult.formatted.items.length).toBe(12);
expect(decodeResult.formatted.items[0].label).toBe('Route Status');
expect(decodeResult.formatted.items[0].value).toBe('Route Planned');
expect(decodeResult.formatted.items[1].label).toBe('Origin');
Expand All @@ -133,18 +133,23 @@ describe('Label_H1 FPN', () => {
expect(decodeResult.formatted.items[3].value).toBe('BAINY3');
expect(decodeResult.formatted.items[4].label).toBe('Approach Procedure');
expect(decodeResult.formatted.items[4].value).toBe('ILS30L(30L)');
expect(decodeResult.formatted.items[5].label).toBe('Altitude');
expect(decodeResult.formatted.items[5].value).toBe('36000 feet');
expect(decodeResult.formatted.items[6].label).toBe('Arrival Runway');
expect(decodeResult.formatted.items[6].value).toBe('30L');
expect(decodeResult.formatted.items[7].label).toBe('Fuel On Board');
expect(decodeResult.formatted.items[7].value).toBe('172');
expect(decodeResult.formatted.items[8].label).toBe(
expect(decodeResult.formatted.items[5].label).toBe('Gross Weight');
expect(decodeResult.formatted.items[5].value).toBe('435600 pounds');
expect(decodeResult.formatted.items[6].label).toBe('Cruise Altitude');
expect(decodeResult.formatted.items[6].value).toBe('36000 feet');
// Amsterdam's transition altitude is 3,000 feet
expect(decodeResult.formatted.items[7].label).toBe('Transition Altitude');
expect(decodeResult.formatted.items[7].value).toBe('3000 feet');
expect(decodeResult.formatted.items[8].label).toBe('Arrival Runway');
expect(decodeResult.formatted.items[8].value).toBe('30L');
expect(decodeResult.formatted.items[9].label).toBe('Fuel On Board');
expect(decodeResult.formatted.items[9].value).toBe('172');
expect(decodeResult.formatted.items[10].label).toBe(
'Estimated Time of Arrival',
);
expect(decodeResult.formatted.items[8].value).toBe('21:51:17');
expect(decodeResult.formatted.items[9].label).toBe('Message Checksum');
expect(decodeResult.formatted.items[9].value).toBe('0x156d');
expect(decodeResult.formatted.items[10].value).toBe('21:51:17');
expect(decodeResult.formatted.items[11].label).toBe('Message Checksum');
expect(decodeResult.formatted.items[11].value).toBe('0x156d');
});

test('decodes Label H1 Preamble FPN with newlines', () => {
Expand Down Expand Up @@ -292,11 +297,14 @@ describe('Label_H1 FPN', () => {
expect(decodeResult.raw.eta_time).toBe(85448);
expect(decodeResult.raw.checksum).toBe(0x47c0);
expect(decodeResult.formatted.description).toBe('Flight Plan');
expect(decodeResult.formatted.items.length).toBe(13);
expect(decodeResult.raw.altitude).toBe(11000);
expect(decodeResult.raw.outside_air_temperature).toBe(-7);
expect(decodeResult.formatted.items.length).toBe(14);
// a flight plan sent before departure: 11,000 feet and ISA there, not where the aircraft is
expect(decodeResult.raw.altitude).toBeUndefined();
expect(decodeResult.raw.cruise_altitude).toBe(11000);
expect(decodeResult.raw.cruise_temperature).toBe(-7);
expect(decodeResult.raw.transition_altitude).toBe(2500);
expect(decodeResult.remaining.text).toBe(
'F37A#M1B/,,,183,7,13,,25,,,P30,M40,36090,13,3455,300',
'F37A#M1B/,,,183,7,13,,,,P30,M40,36090,13,3455,300',
);
});

Expand Down
47 changes: 28 additions & 19 deletions lib/plugins/Label_H1_PER.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,23 @@ describe('Label_H1 PER', () => {
expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
expect(decodeResult.raw.checksum).toBe(0x2917);
expect(decodeResult.raw.altitude).toBe(32000);
expect(decodeResult.raw.outside_air_temperature).toBe(-53);
expect(decodeResult.formatted.items.length).toBe(3);
expect(decodeResult.formatted.items[0].label).toBe('Altitude');
expect(decodeResult.formatted.items[0].value).toBe('32000 feet');
expect(decodeResult.formatted.items[1].label).toBe(
'Outside Air Temperature (C)',
expect(decodeResult.raw.gross_weight).toBe(133700);
expect(decodeResult.raw.cruise_altitude).toBe(32000);
expect(decodeResult.raw.cruise_temperature).toBe(-53);
expect(decodeResult.raw.transition_altitude).toBe(18000);
expect(decodeResult.formatted.items.length).toBe(5);
expect(decodeResult.formatted.items[0].label).toBe('Gross Weight');
expect(decodeResult.formatted.items[0].value).toBe('133700 pounds');
expect(decodeResult.formatted.items[1].label).toBe('Cruise Altitude');
expect(decodeResult.formatted.items[1].value).toBe('32000 feet');
expect(decodeResult.formatted.items[2].label).toBe(
'Cruise Temperature (C)',
);
expect(decodeResult.formatted.items[1].value).toBe('-53 degrees');
expect(decodeResult.formatted.items[2].label).toBe('Message Checksum');
expect(decodeResult.formatted.items[2].value).toBe('-53 degrees');
expect(decodeResult.formatted.items[3].label).toBe('Transition Altitude');
expect(decodeResult.formatted.items[3].value).toBe('18000 feet');
expect(decodeResult.formatted.items[4].label).toBe('Message Checksum');
expect(decodeResult.remaining.text).toBe('262,222,,60,24,275103,P52,P0');
});

test('long variant', () => {
Expand All @@ -37,18 +44,20 @@ describe('Label_H1 PER', () => {
expect(decodeResult.decoded).toBe(true);
expect(decodeResult.decoder.decodeLevel).toBe('partial');
expect(decodeResult.raw.checksum).toBe(0x388d);
expect(decodeResult.raw.altitude).toBe(34000);
expect(decodeResult.raw.outside_air_temperature).toBe(-56);
expect(decodeResult.formatted.items.length).toBe(3);
expect(decodeResult.formatted.items[0].label).toBe('Altitude');
expect(decodeResult.formatted.items[0].value).toBe('34000 feet');
expect(decodeResult.formatted.items[1].label).toBe(
'Outside Air Temperature (C)',
expect(decodeResult.raw.gross_weight).toBe(121800);
expect(decodeResult.raw.cruise_altitude).toBe(34000);
expect(decodeResult.raw.cruise_temperature).toBe(-56);
expect(decodeResult.raw.transition_altitude).toBe(18000);
expect(decodeResult.formatted.items.length).toBe(5);
expect(decodeResult.formatted.items[1].label).toBe('Cruise Altitude');
expect(decodeResult.formatted.items[1].value).toBe('34000 feet');
expect(decodeResult.formatted.items[2].label).toBe(
'Cruise Temperature (C)',
);
expect(decodeResult.formatted.items[1].value).toBe('-56 degrees');
expect(decodeResult.formatted.items[2].label).toBe('Message Checksum');
expect(decodeResult.formatted.items[2].value).toBe('-56 degrees');
expect(decodeResult.formatted.items[4].label).toBe('Message Checksum');
expect(decodeResult.remaining.text).toBe(
'1218,276,134,,0,68,,180,,,P30,P0,33936,,1084,284',
'276,134,,0,68,,,,P30,P0,33936,,1084,284',
);
});

Expand Down
Loading
Loading