@@ -439,5 +439,67 @@ TEST(TEST_NAME, modeselection) {
439
439
}
440
440
441
441
TEST (TEST_NAME, fill_out_vars) {
442
- EXPECT_FALSE (true );
442
+ auto imuHandle = mock::imu.getHandle ();
443
+ auto flightcomputerHandle = mock::flightcomputer.getHandle ();
444
+ auto remoteHandle = mock::remote.getHandle ();
445
+ auto errorHandlerHandle = mock::error_handler.getHandle ();
446
+
447
+ imuHandle.overrideFunc <imu_data_available>([]() { return true ; });
448
+ imuHandle.overrideFunc <imu_get_latest_data>([]() {
449
+ return imu_data_t {.heading_mul_16 = 17 ,
450
+ .pitch_mul_16 = 18 ,
451
+ .roll_mul_16 = 19 ,
452
+ .d_heading_mul_16 = 20 ,
453
+ .d_pitch_mul_16 = 21 ,
454
+ .d_roll_mul_16 = 22 ,
455
+ .acc_x_mul_100 = 23 ,
456
+ .acc_y_mul_100 = 24 ,
457
+ .acc_z_mul_100 = 25 ,
458
+ .imu_ok = true };
459
+ });
460
+ remoteHandle.overrideFunc <remote_data_available>([]() { return true ; });
461
+ remoteHandle.overrideFunc <remote_get_data>([]() {
462
+ return remote_data_t {.throttle_mixed = 26 ,
463
+ .elevon_left_mixed = 27 ,
464
+ .elevon_right_mixed = 28 ,
465
+ .throttle_raw = 29 ,
466
+ .pitch_raw = 30 ,
467
+ .roll_raw = 31 ,
468
+ .is_armed = true ,
469
+ .override_active = false ,
470
+ .remote_ok = true };
471
+ });
472
+ flightcomputerHandle.overrideFunc <flightcomputer_setpoint_available>([]() { return true ; });
473
+ flightcomputerHandle.overrideFunc <flightcomputer_get_setpoint>(
474
+ []() { return flightcomputer_setpoint_t {.motor = 32 , .pitch = 33 , .roll = 34 }; });
475
+
476
+ mode_handler_init ();
477
+
478
+ imu_data_t imuData;
479
+ remote_data_t remoteData;
480
+ flightcomputer_setpoint_t flightcomputerSetpoint;
481
+
482
+ mode_handler_handle (&imuData, &remoteData, &flightcomputerSetpoint);
483
+ EXPECT_EQ (imuData.heading_mul_16 , 17 );
484
+ EXPECT_EQ (imuData.pitch_mul_16 , 18 );
485
+ EXPECT_EQ (imuData.roll_mul_16 , 19 );
486
+ EXPECT_EQ (imuData.d_heading_mul_16 , 20 );
487
+ EXPECT_EQ (imuData.d_pitch_mul_16 , 21 );
488
+ EXPECT_EQ (imuData.d_roll_mul_16 , 22 );
489
+ EXPECT_EQ (imuData.acc_x_mul_100 , 23 );
490
+ EXPECT_EQ (imuData.acc_y_mul_100 , 24 );
491
+ EXPECT_EQ (imuData.acc_z_mul_100 , 25 );
492
+ EXPECT_EQ (imuData.imu_ok , true );
493
+ EXPECT_EQ (remoteData.throttle_mixed , 26 );
494
+ EXPECT_EQ (remoteData.elevon_left_mixed , 27 );
495
+ EXPECT_EQ (remoteData.elevon_right_mixed , 28 );
496
+ EXPECT_EQ (remoteData.throttle_raw , 29 );
497
+ EXPECT_EQ (remoteData.pitch_raw , 30 );
498
+ EXPECT_EQ (remoteData.roll_raw , 31 );
499
+ EXPECT_EQ (remoteData.is_armed , true );
500
+ EXPECT_EQ (remoteData.override_active , false );
501
+ EXPECT_EQ (remoteData.remote_ok , true );
502
+ EXPECT_EQ (flightcomputerSetpoint.motor , 32 );
503
+ EXPECT_EQ (flightcomputerSetpoint.pitch , 33 );
504
+ EXPECT_EQ (flightcomputerSetpoint.roll , 34 );
443
505
}
0 commit comments