Skip to content

Commit

Permalink
Refactor tests
Browse files Browse the repository at this point in the history
  • Loading branch information
xorz57 committed Feb 16, 2024
1 parent b24b524 commit 5091230
Show file tree
Hide file tree
Showing 13 changed files with 236 additions and 449 deletions.
3 changes: 1 addition & 2 deletions src/packets/packet_car_setup_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,7 @@ mod tests {
};

let serialized_data: Vec<u8> = original_data.serialize().unwrap();
let deserialized_data: CarSetupData =
CarSetupData::unserialize(&serialized_data).unwrap();
let deserialized_data: CarSetupData = CarSetupData::unserialize(&serialized_data).unwrap();

assert_eq!(original_data, deserialized_data);
}
Expand Down
4 changes: 2 additions & 2 deletions src/packets/packet_car_status_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -225,9 +225,9 @@ mod tests {
data.network_paused = 0u8;
}

let serialized_data: Vec<u8> = original_packet.serialize().unwrap();
let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();
let deserialized_packet: PacketCarStatusData =
PacketCarStatusData::unserialize(&serialized_data).unwrap();
PacketCarStatusData::unserialize(&serialized_packet).unwrap();

assert_eq!(original_packet, deserialized_packet);
}
Expand Down
106 changes: 40 additions & 66 deletions src/packets/packet_car_telemetry_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,7 @@ mod tests {

#[test]
fn test_car_telemetry_data_serialization_deserialization() {
// Create some sample car telemetry data
let original_car_telemetry_data: CarTelemetryData = CarTelemetryData {
let original_data: CarTelemetryData = CarTelemetryData {
speed: 200u16,
throttle: 0.8f32,
steer: 0.2f32,
Expand All @@ -191,83 +190,58 @@ mod tests {
surface_type: [1u8, 2u8, 3u8, 4u8],
};

// Serialize the data
let serialized_data: Vec<u8> = original_car_telemetry_data.serialize().unwrap();

// Deserialize the serialized data
let deserialized_car_telemetry_data: CarTelemetryData =
let serialized_data: Vec<u8> = original_data.serialize().unwrap();
let deserialized_data: CarTelemetryData =
CarTelemetryData::unserialize(&serialized_data).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(original_car_telemetry_data, deserialized_car_telemetry_data);
assert_eq!(original_data, deserialized_data);
}

#[test]
fn test_packet_car_telemetry_data_serialization_deserialization() {
// Create some sample packet car telemetry data
let mut original_packet_car_telemetry_data: PacketCarTelemetryData =
PacketCarTelemetryData::default();
original_packet_car_telemetry_data.header.packet_format = 2021u16;
original_packet_car_telemetry_data.header.game_year = 21u8;
original_packet_car_telemetry_data.header.game_major_version = 1u8;
original_packet_car_telemetry_data.header.game_minor_version = 3u8;
original_packet_car_telemetry_data.header.packet_version = 1u8;
original_packet_car_telemetry_data.header.packet_id = 0u8;
original_packet_car_telemetry_data.header.session_uid = 123456789u64;
original_packet_car_telemetry_data.header.session_time = 123.456f32;
original_packet_car_telemetry_data.header.frame_identifier = 1000u32;
original_packet_car_telemetry_data
.header
.overall_frame_identifier = 5000u32;
original_packet_car_telemetry_data.header.player_car_index = 1u8;
original_packet_car_telemetry_data
.header
.secondary_player_car_index = 255u8;

// Populate car telemetry data array with some sample data
let mut original_packet: PacketCarTelemetryData = PacketCarTelemetryData::default();
original_packet.header.packet_format = 2021u16;
original_packet.header.game_year = 21u8;
original_packet.header.game_major_version = 1u8;
original_packet.header.game_minor_version = 3u8;
original_packet.header.packet_version = 1u8;
original_packet.header.packet_id = 0u8;
original_packet.header.session_uid = 123456789u64;
original_packet.header.session_time = 123.456f32;
original_packet.header.frame_identifier = 1000u32;
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.car_telemetry_data[i].speed = (i * 10) as u16;
original_packet_car_telemetry_data.car_telemetry_data[i].throttle = (i as f32) * 0.1;
original_packet_car_telemetry_data.car_telemetry_data[i].steer = (i as f32) * 0.01;
original_packet_car_telemetry_data.car_telemetry_data[i].brake = (i as f32) * 0.02;
original_packet_car_telemetry_data.car_telemetry_data[i].clutch = i as u8;
original_packet_car_telemetry_data.car_telemetry_data[i].gear = i as i8 - 10;
original_packet_car_telemetry_data.car_telemetry_data[i].engine_rpm = (i * 1000) as u16;
original_packet_car_telemetry_data.car_telemetry_data[i].drs = i as u8 % 2;
original_packet_car_telemetry_data.car_telemetry_data[i].rev_lights_percent =
(i * 5) as u8;
original_packet_car_telemetry_data.car_telemetry_data[i].rev_lights_bit_value =
(i * 100) as u16;
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.car_telemetry_data[i].brakes_temperature[j] =
original_packet.car_telemetry_data[i].brakes_temperature[j] =
(i * 100 + j * 10) as u16;
original_packet_car_telemetry_data.car_telemetry_data[i]
.tyres_surface_temperature[j] = (i * 10 + j) as u8;
original_packet_car_telemetry_data.car_telemetry_data[i].tyres_inner_temperature
[j] = (i * 5 + j) as u8;
original_packet_car_telemetry_data.car_telemetry_data[i].tyres_pressure[j] =
(i * 1 + j) as f32;
original_packet_car_telemetry_data.car_telemetry_data[i].surface_type[j] =
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;
}
}
original_packet.mfd_panel_index = 3u8;
original_packet.mfd_panel_index_secondary_player = 2u8;
original_packet.suggested_gear = -1i8;

// Set other fields
original_packet_car_telemetry_data.mfd_panel_index = 3u8;
original_packet_car_telemetry_data.mfd_panel_index_secondary_player = 2u8;
original_packet_car_telemetry_data.suggested_gear = -1i8;

// Serialize the data
let serialized_data: Vec<u8> = original_packet_car_telemetry_data.serialize().unwrap();

// Deserialize the serialized data
let deserialized_packet_car_telemetry_data: PacketCarTelemetryData =
PacketCarTelemetryData::unserialize(&serialized_data).unwrap();
let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();
let deserialized_packet: PacketCarTelemetryData =
PacketCarTelemetryData::unserialize(&serialized_packet).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(
original_packet_car_telemetry_data,
deserialized_packet_car_telemetry_data
);
assert_eq!(original_packet, deserialized_packet);
}
}
120 changes: 36 additions & 84 deletions src/packets/packet_final_classification_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,7 @@ mod tests {

#[test]
fn test_final_classification_data_serialization_deserialization() {
// Create some sample data
let original_final_classification_data: FinalClassificationData = FinalClassificationData {
let original_data: FinalClassificationData = FinalClassificationData {
position: 1u8,
num_laps: 2u8,
grid_position: 3u8,
Expand All @@ -170,101 +169,54 @@ mod tests {
tyre_stints_end_laps: [3u8, 3u8, 3u8, 3u8, 3u8, 3u8, 3u8, 3u8],
};

// Serialize the data
let serialized_data: Vec<u8> = original_final_classification_data.serialize().unwrap();

// Deserialize the serialized data
let deserialized_final_classification_data: FinalClassificationData =
let serialized_data: Vec<u8> = original_data.serialize().unwrap();
let deserialized_data: FinalClassificationData =
FinalClassificationData::unserialize(&serialized_data).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(
original_final_classification_data,
deserialized_final_classification_data
);
assert_eq!(original_data, deserialized_data);
}

#[test]
fn test_packet_final_classification_data_serialization_deserialization() {
// Create some sample packet final classification data
let mut original_packet_final_classification_data: PacketFinalClassificationData =
let mut original_packet: PacketFinalClassificationData =
PacketFinalClassificationData::default();
original_packet_final_classification_data
.header
.packet_format = 2021u16;
original_packet_final_classification_data.header.game_year = 21u8;
original_packet_final_classification_data
.header
.game_major_version = 1u8;
original_packet_final_classification_data
.header
.game_minor_version = 3u8;
original_packet_final_classification_data
.header
.packet_version = 1u8;
original_packet_final_classification_data.header.packet_id = 0u8;
original_packet_final_classification_data.header.session_uid = 123456789u64;
original_packet_final_classification_data
.header
.session_time = 123.456f32;
original_packet_final_classification_data
.header
.frame_identifier = 1000u32;
original_packet_final_classification_data
.header
.overall_frame_identifier = 5000u32;
original_packet_final_classification_data
.header
.player_car_index = 1u8;
original_packet_final_classification_data
.header
.secondary_player_car_index = 255u8;
original_packet_final_classification_data.num_cars = 22u8;
original_packet.header.packet_format = 2021u16;
original_packet.header.game_year = 21u8;
original_packet.header.game_major_version = 1u8;
original_packet.header.game_minor_version = 3u8;
original_packet.header.packet_version = 1u8;
original_packet.header.packet_id = 0u8;
original_packet.header.session_uid = 123456789u64;
original_packet.header.session_time = 123.456f32;
original_packet.header.frame_identifier = 1000u32;
original_packet.header.overall_frame_identifier = 5000u32;
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_final_classification_data.classification_data[i].position =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].num_laps =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].grid_position =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].points = (i + 1) as u8;
original_packet_final_classification_data.classification_data[i].num_pit_stops =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].result_status =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].best_lap_time_in_ms =
(i + 1) as u32;
original_packet_final_classification_data.classification_data[i].total_race_time =
(i + 1) as f64;
original_packet_final_classification_data.classification_data[i].penalties_time =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].num_penalties =
(i + 1) as u8;
original_packet_final_classification_data.classification_data[i].num_tyre_stints =
(i + 1) as u8;
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_final_classification_data.classification_data[i]
.tyre_stints_actual[j] = (i + 1) as u8;
original_packet_final_classification_data.classification_data[i]
.tyre_stints_visual[j] = (i + 1) as u8;
original_packet_final_classification_data.classification_data[i]
.tyre_stints_end_laps[j] = (i + 1) as u8;
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;
}
}

// Serialize the data
let serialized_data: Vec<u8> = original_packet_final_classification_data
.serialize()
.unwrap();
let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();

// Deserialize the serialized data
let deserialized_packet_final_classification_data: PacketFinalClassificationData =
PacketFinalClassificationData::unserialize(&serialized_data).unwrap();
let deserialized_packet: PacketFinalClassificationData =
PacketFinalClassificationData::unserialize(&serialized_packet).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(
original_packet_final_classification_data,
deserialized_packet_final_classification_data
);
assert_eq!(original_packet, deserialized_packet);
}
}
9 changes: 2 additions & 7 deletions src/packets/packet_header.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ mod tests {

#[test]
fn test_packet_header_serialization_deserialization() {
// Create some sample packet header data
let original_packet_header: PacketHeader = PacketHeader {
packet_format: 2021u16,
game_year: 21u8,
Expand All @@ -84,14 +83,10 @@ mod tests {
secondary_player_car_index: 255u8,
};

// Serialize the data
let serialized_data: Vec<u8> = original_packet_header.serialize().unwrap();

// Deserialize the serialized data
let serialized_packet_header: Vec<u8> = original_packet_header.serialize().unwrap();
let deserialized_packet_header: PacketHeader =
PacketHeader::unserialize(&serialized_data).unwrap();
PacketHeader::unserialize(&serialized_packet_header).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(original_packet_header, deserialized_packet_header);
}
}
42 changes: 16 additions & 26 deletions src/packets/packet_lap_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,7 @@ mod tests {

#[test]
fn test_lap_data_serialization_deserialization() {
// Create some sample data
let original_lap_data: LapData = LapData {
let original_data: LapData = LapData {
last_lap_time_in_ms: 100u32,
current_lap_time_in_ms: 120u32,
sector1_time_in_ms: 30u16,
Expand Down Expand Up @@ -204,38 +203,29 @@ mod tests {
pit_stop_should_serve_pen: 0u8,
};

// Serialize the data
let serialized_data: Vec<u8> = original_lap_data.serialize().unwrap();
let serialized_data: Vec<u8> = original_data.serialize().unwrap();
let deserialized_data: LapData = LapData::unserialize(&serialized_data).unwrap();

// Deserialize the serialized data
let deserialized_lap_data: LapData = LapData::unserialize(&serialized_data).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(original_lap_data, deserialized_lap_data);
assert_eq!(original_data, deserialized_data);
}

#[test]
fn test_packet_lap_data_serialization_deserialization() {
// Create some sample data
let mut original_packet_lap_data: PacketLapData = PacketLapData::default();
let mut original_packet: PacketLapData = PacketLapData::default();
for i in 0..22 {
original_packet_lap_data.lap_data[i].last_lap_time_in_ms = (i * 100) as u32;
original_packet_lap_data.lap_data[i].current_lap_time_in_ms = (i * 120) as u32;
original_packet_lap_data.lap_data[i].car_position = (i + 1) as u8;
original_packet_lap_data.lap_data[i].current_lap_num = (i + 2) as u8;
original_packet_lap_data.lap_data[i].grid_position = (i + 3) as u8;
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;
}
original_packet_lap_data.time_trial_pb_car_idx = 1u8;
original_packet_lap_data.time_trial_rival_car_idx = 2u8;

// Serialize the data
let serialized_data: Vec<u8> = original_packet_lap_data.serialize().unwrap();
original_packet.time_trial_pb_car_idx = 1u8;
original_packet.time_trial_rival_car_idx = 2u8;

// Deserialize the serialized data
let deserialized_packet_lap_data: PacketLapData =
PacketLapData::unserialize(&serialized_data).unwrap();
let serialized_packet: Vec<u8> = original_packet.serialize().unwrap();
let deserialized_packet: PacketLapData =
PacketLapData::unserialize(&serialized_packet).unwrap();

// Check if the deserialized data matches the original data
assert_eq!(original_packet_lap_data, deserialized_packet_lap_data);
assert_eq!(original_packet, deserialized_packet);
}
}
Loading

0 comments on commit 5091230

Please sign in to comment.