@@ -289,6 +289,56 @@ public void test_df21_bds50_485209() throws UnknownDownlinkFormatException {
289
289
assertEquals (31.8 , bds .getTrueTrack (), 0.1 );
290
290
}
291
291
292
+ @ Test
293
+ public void test_df21_bds50_484FDF () throws UnknownDownlinkFormatException {
294
+ DownlinkFormat df = testMessage ("A800080080502D2A600CA9DF5877" );
295
+
296
+ assertInstanceOf (DF21 .class , df );
297
+ DF21 df21 = (DF21 ) df ;
298
+ assertEquals ("484FDF" , df .getIcao ()); // Military / corrupt transponder
299
+ assertEquals (1000 , df21 .getModeA ());
300
+
301
+ assertTrue (df21 .isValid ());
302
+ assertInstanceOf (Bds50 .class , df21 .getBds ());
303
+
304
+ Bds50 bds = (Bds50 ) df21 .getBds ();
305
+ assertTrue (bds .isStatusGs ());
306
+ assertEquals (338 , bds .getGs (), 0.1 );
307
+ assertTrue (bds .isStatusTas ());
308
+ assertEquals (338 , bds .getTas (), 0.1 );
309
+ assertTrue (bds .isStatusRollAngle ());
310
+ assertEquals (0.35 , bds .getRollAngle (), 0.1 );
311
+ assertTrue (bds .isStatusTrueAngleRate ());
312
+ assertEquals (0 , bds .getTrackAngleRate (), 0.1 );
313
+ assertTrue (bds .isStatusTrackAngle ());
314
+ assertEquals (3.8 , bds .getTrueTrack (), 0.1 );
315
+ }
316
+
317
+ @ Test
318
+ public void test_df20_bds50_48418A () throws UnknownDownlinkFormatException {
319
+ DownlinkFormat df = testMessage ("A0000E978F1FBD316114BDA0FFBF" );
320
+
321
+ assertInstanceOf (DF20 .class , df );
322
+ DF20 df20 = (DF20 ) df ;
323
+ assertEquals ("48418A" , df .getIcao ()); // Military / corrupt transponder
324
+ assertEquals (22375 , df20 .getAltitude ().getAltitude ());
325
+
326
+ assertTrue (df20 .isValid ());
327
+ assertInstanceOf (Bds50 .class , df20 .getBds ());
328
+
329
+ Bds50 bds = (Bds50 ) df20 .getBds ();
330
+ assertTrue (bds .isStatusGs ());
331
+ assertEquals (394 , bds .getGs (), 0.1 );
332
+ assertTrue (bds .isStatusTas ());
333
+ assertEquals (378 , bds .getTas (), 0.1 );
334
+ assertTrue (bds .isStatusRollAngle ());
335
+ assertEquals (21 , bds .getRollAngle (), 0.1 );
336
+ assertTrue (bds .isStatusTrueAngleRate ());
337
+ assertEquals (1 , bds .getTrackAngleRate (), 0.1 );
338
+ assertTrue (bds .isStatusTrackAngle ());
339
+ assertEquals (354 , bds .getTrueTrack (), 0.1 );
340
+ }
341
+
292
342
293
343
private DownlinkFormat testMessage (String message ) throws UnknownDownlinkFormatException {
294
344
Decoder decoder = new Decoder (new HashMap <>(), 50 , 2 , ModeSDatabase .createDatabase ());
0 commit comments