Skip to content

Commit 73d33b9

Browse files
committed
#45: Mode handler output tests
1 parent 2917ce6 commit 73d33b9

File tree

1 file changed

+63
-1
lines changed

1 file changed

+63
-1
lines changed

Tests/LowLevel/Application/mode_handler.cpp

+63-1
Original file line numberDiff line numberDiff line change
@@ -439,5 +439,67 @@ TEST(TEST_NAME, modeselection) {
439439
}
440440

441441
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);
443505
}

0 commit comments

Comments
 (0)