Skip to content

Commit

Permalink
Fix some tests
Browse files Browse the repository at this point in the history
  • Loading branch information
xorz57 committed Feb 16, 2024
1 parent 5091230 commit 14ce001
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 53 deletions.
38 changes: 17 additions & 21 deletions src/packets/packet_car_telemetry_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -212,27 +212,23 @@ mod tests {
original_packet.header.overall_frame_identifier = 5000u32;
original_packet.header.player_car_index = 1u8;
original_packet.header.secondary_player_car_index = 255u8;
for i in 0..22 {
original_packet.car_telemetry_data[i].speed = (i * 10) as u16;
original_packet.car_telemetry_data[i].throttle = (i as f32) * 0.1;
original_packet.car_telemetry_data[i].steer = (i as f32) * 0.01;
original_packet.car_telemetry_data[i].brake = (i as f32) * 0.02;
original_packet.car_telemetry_data[i].clutch = i as u8;
original_packet.car_telemetry_data[i].gear = i as i8 - 10;
original_packet.car_telemetry_data[i].engine_rpm = (i * 1000) as u16;
original_packet.car_telemetry_data[i].drs = i as u8 % 2;
original_packet.car_telemetry_data[i].rev_lights_percent = (i * 5) as u8;
original_packet.car_telemetry_data[i].rev_lights_bit_value = (i * 100) as u16;
for j in 0..4 {
original_packet.car_telemetry_data[i].brakes_temperature[j] =
(i * 100 + j * 10) as u16;
original_packet.car_telemetry_data[i].tyres_surface_temperature[j] =
(i * 10 + j) as u8;
original_packet.car_telemetry_data[i].tyres_inner_temperature[j] =
(i * 5 + j) as u8;
original_packet.car_telemetry_data[i].tyres_pressure[j] = (i * 1 + j) as f32;
original_packet.car_telemetry_data[i].surface_type[j] = (i * 10 + j) as u8;
}
for data in original_packet.car_telemetry_data.iter_mut() {
data.speed = 200u16;
data.throttle = 0.8f32;
data.steer = 0.2f32;
data.brake = 0.0f32;
data.clutch = 0u8;
data.gear = 3i8;
data.engine_rpm = 8000u16;
data.drs = 1u8;
data.rev_lights_percent = 50u8;
data.rev_lights_bit_value = 1000u16;
data.brakes_temperature = [500u16, 550u16, 600u16, 625u16];
data.tyres_surface_temperature = [90u8, 91u8, 92u8, 93u8];
data.tyres_inner_temperature = [85u8, 86u8, 87u8, 88u8];
data.engine_temperature = 95u16;
data.tyres_pressure = [1.9f32, 1.8f32, 1.9f32, 2.0f32];
data.surface_type = [1u8, 2u8, 3u8, 4u8];
}
original_packet.mfd_panel_index = 3u8;
original_packet.mfd_panel_index_secondary_player = 2u8;
Expand Down
33 changes: 15 additions & 18 deletions src/packets/packet_final_classification_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,27 +193,24 @@ mod tests {
original_packet.header.player_car_index = 1u8;
original_packet.header.secondary_player_car_index = 255u8;
original_packet.num_cars = 22u8;
for i in 0..22 {
original_packet.classification_data[i].position = (i + 1) as u8;
original_packet.classification_data[i].num_laps = (i + 1) as u8;
original_packet.classification_data[i].grid_position = (i + 1) as u8;
original_packet.classification_data[i].points = (i + 1) as u8;
original_packet.classification_data[i].num_pit_stops = (i + 1) as u8;
original_packet.classification_data[i].result_status = (i + 1) as u8;
original_packet.classification_data[i].best_lap_time_in_ms = (i + 1) as u32;
original_packet.classification_data[i].total_race_time = (i + 1) as f64;
original_packet.classification_data[i].penalties_time = (i + 1) as u8;
original_packet.classification_data[i].num_penalties = (i + 1) as u8;
original_packet.classification_data[i].num_tyre_stints = (i + 1) as u8;
for j in 0..8 {
original_packet.classification_data[i].tyre_stints_actual[j] = (i + 1) as u8;
original_packet.classification_data[i].tyre_stints_visual[j] = (i + 1) as u8;
original_packet.classification_data[i].tyre_stints_end_laps[j] = (i + 1) as u8;
}
for data in original_packet.classification_data.iter_mut() {
data.position = 1u8;
data.num_laps = 2u8;
data.grid_position = 3u8;
data.points = 4u8;
data.num_pit_stops = 5u8;
data.result_status = 6u8;
data.best_lap_time_in_ms = 100u32;
data.total_race_time = 123.456f64;
data.penalties_time = 7u8;
data.num_penalties = 8u8;
data.num_tyre_stints = 9u8;
data.tyre_stints_actual = [1u8, 1u8, 1u8, 1u8, 1u8, 1u8, 1u8, 1u8];
data.tyre_stints_visual = [2u8, 2u8, 2u8, 2u8, 2u8, 2u8, 2u8, 2u8];
data.tyre_stints_end_laps = [3u8, 3u8, 3u8, 3u8, 3u8, 3u8, 3u8, 3u8];
}

let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();

let deserialized_packet: PacketFinalClassificationData =
PacketFinalClassificationData::unserialize(&serialized_packet).unwrap();

Expand Down
36 changes: 30 additions & 6 deletions src/packets/packet_lap_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -212,12 +212,36 @@ mod tests {
#[test]
fn test_packet_lap_data_serialization_deserialization() {
let mut original_packet: PacketLapData = PacketLapData::default();
for i in 0..22 {
original_packet.lap_data[i].last_lap_time_in_ms = (i * 100) as u32;
original_packet.lap_data[i].current_lap_time_in_ms = (i * 120) as u32;
original_packet.lap_data[i].car_position = (i + 1) as u8;
original_packet.lap_data[i].current_lap_num = (i + 2) as u8;
original_packet.lap_data[i].grid_position = (i + 3) as u8;
for data in original_packet.lap_data.iter_mut() {
data.last_lap_time_in_ms = 100u32;
data.current_lap_time_in_ms = 120u32;
data.sector1_time_in_ms = 30u16;
data.sector1_time_minutes = 1u8;
data.sector2_time_in_ms = 40u16;
data.sector2_time_minutes = 1u8;
data.delta_to_car_in_front_in_ms = 5u16;
data.delta_to_race_leader_in_ms = 10u16;
data.lap_distance = 100.5f32;
data.total_distance = 1000.0f32;
data.safety_car_delta = 3.5f32;
data.car_position = 2u8;
data.current_lap_num = 3u8;
data.pit_status = 1u8;
data.num_pit_stops = 0u8;
data.sector = 1u8;
data.current_lap_invalid = 0u8;
data.penalties = 0u8;
data.total_warnings = 0u8;
data.corner_cutting_warnings = 0u8;
data.num_unserved_drive_through_pens = 0u8;
data.num_unserved_stop_go_pens = 0u8;
data.grid_position = 4u8;
data.driver_status = 1u8;
data.result_status = 0u8;
data.pit_lane_timer_active = 1u8;
data.pit_lane_time_in_lane_in_ms = 20u16;
data.pit_stop_timer_in_ms = 0u16;
data.pit_stop_should_serve_pen = 0u8;
}
original_packet.time_trial_pb_car_idx = 1u8;
original_packet.time_trial_rival_car_idx = 2u8;
Expand Down
16 changes: 8 additions & 8 deletions src/packets/packet_lobby_info_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,14 @@ mod tests {
fn test_packet_lobby_info_data_serialization_deserialization() {
let mut original_packet: PacketLobbyInfoData = PacketLobbyInfoData::default();
original_packet.num_players = 5u8;
for i in 0..22 {
original_packet.lobby_players[i].ai_controlled = i as u8;
original_packet.lobby_players[i].team_id = (i + 1) as u8;
original_packet.lobby_players[i].nationality = (i + 2) as u8;
original_packet.lobby_players[i].platform = (i + 3) as u8;
original_packet.lobby_players[i].name = [65u8; 48]; // 'A'
original_packet.lobby_players[i].car_number = (i + 4) as u8;
original_packet.lobby_players[i].ready_status = (i + 5) as u8;
for data in original_packet.lobby_players.iter_mut() {
data.ai_controlled = 1u8;
data.team_id = 2u8;
data.nationality = 3u8;
data.platform = 4u8;
data.name = [65u8; 48]; // 65 is ASCII 'A'
data.car_number = 6u8;
data.ready_status = 7u8;
}

let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();
Expand Down

0 comments on commit 14ce001

Please sign in to comment.