Skip to content

Commit

Permalink
Add rand crate for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
xorz57 committed Feb 17, 2024
1 parent e071090 commit 14640c8
Show file tree
Hide file tree
Showing 8 changed files with 408 additions and 257 deletions.
66 changes: 66 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ edition = "2021"

[dependencies]
byteorder = "1.5.0"
rand = "0.8.5"
89 changes: 47 additions & 42 deletions src/packets/packet_car_damage_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,31 +153,34 @@ impl PacketCarDamageData {
#[cfg(test)]
mod tests {
use super::*;
use rand::Rng;

#[test]
fn test_car_damage_data_serialization_deserialization() {
let mut rng = rand::thread_rng();

let original_data: CarDamageData = CarDamageData {
tyres_wear: [0.1f32, 0.2f32, 0.3f32, 0.4f32],
tyres_damage: [10u8, 20u8, 30u8, 40u8],
brakes_damage: [5u8, 10u8, 15u8, 20u8],
front_left_wing_damage: 25u8,
front_right_wing_damage: 30u8,
rear_wing_damage: 35u8,
floor_damage: 5u8,
diffuser_damage: 8u8,
sidepod_damage: 12u8,
drs_fault: 0u8,
ers_fault: 0u8,
gearbox_damage: 15u8,
engine_damage: 20u8,
engine_mguh_wear: 25u8,
engine_es_wear: 30u8,
engine_ce_wear: 35u8,
engine_ice_wear: 40u8,
engine_mguk_wear: 45u8,
engine_tc_wear: 50u8,
engine_blown: 0u8,
engine_seized: 0u8,
tyres_wear: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
tyres_damage: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
brakes_damage: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
front_left_wing_damage: rng.gen(),
front_right_wing_damage: rng.gen(),
rear_wing_damage: rng.gen(),
floor_damage: rng.gen(),
diffuser_damage: rng.gen(),
sidepod_damage: rng.gen(),
drs_fault: rng.gen(),
ers_fault: rng.gen(),
gearbox_damage: rng.gen(),
engine_damage: rng.gen(),
engine_mguh_wear: rng.gen(),
engine_es_wear: rng.gen(),
engine_ce_wear: rng.gen(),
engine_ice_wear: rng.gen(),
engine_mguk_wear: rng.gen(),
engine_tc_wear: rng.gen(),
engine_blown: rng.gen(),
engine_seized: rng.gen(),
};

let serialized_data: Vec<u8> = original_data.serialize().unwrap();
Expand All @@ -189,6 +192,8 @@ mod tests {

#[test]
fn test_packet_car_damage_data_serialization_deserialization() {
let mut rng = rand::thread_rng();

let original_packet: PacketCarDamageData = PacketCarDamageData {
header: PacketHeader {
packet_format: 2021u16,
Expand All @@ -205,27 +210,27 @@ mod tests {
secondary_player_car_index: 255u8,
},
car_damage_data: [CarDamageData {
tyres_wear: [0.1f32, 0.2f32, 0.3f32, 0.4f32],
tyres_damage: [10u8, 20u8, 30u8, 40u8],
brakes_damage: [5u8, 10u8, 15u8, 20u8],
front_left_wing_damage: 25u8,
front_right_wing_damage: 30u8,
rear_wing_damage: 35u8,
floor_damage: 5u8,
diffuser_damage: 8u8,
sidepod_damage: 12u8,
drs_fault: 0u8,
ers_fault: 0u8,
gearbox_damage: 15u8,
engine_damage: 20u8,
engine_mguh_wear: 25u8,
engine_es_wear: 30u8,
engine_ce_wear: 35u8,
engine_ice_wear: 40u8,
engine_mguk_wear: 45u8,
engine_tc_wear: 50u8,
engine_blown: 0u8,
engine_seized: 0u8,
tyres_wear: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
tyres_damage: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
brakes_damage: [rng.gen(), rng.gen(), rng.gen(), rng.gen()],
front_left_wing_damage: rng.gen(),
front_right_wing_damage: rng.gen(),
rear_wing_damage: rng.gen(),
floor_damage: rng.gen(),
diffuser_damage: rng.gen(),
sidepod_damage: rng.gen(),
drs_fault: rng.gen(),
ers_fault: rng.gen(),
gearbox_damage: rng.gen(),
engine_damage: rng.gen(),
engine_mguh_wear: rng.gen(),
engine_es_wear: rng.gen(),
engine_ce_wear: rng.gen(),
engine_ice_wear: rng.gen(),
engine_mguk_wear: rng.gen(),
engine_tc_wear: rng.gen(),
engine_blown: rng.gen(),
engine_seized: rng.gen(),
}; 22],
};

Expand Down
93 changes: 49 additions & 44 deletions src/packets/packet_car_setup_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,32 +135,35 @@ impl PacketCarSetupData {
#[cfg(test)]
mod tests {
use super::*;
use rand::Rng;

#[test]
fn test_car_setup_data_serialization_deserialization() {
let mut rng = rand::thread_rng();

let original_data: CarSetupData = CarSetupData {
front_wing: 1u8,
rear_wing: 2u8,
on_throttle: 3u8,
off_throttle: 4u8,
front_camber: 0.1f32,
rear_camber: 0.2f32,
front_toe: 0.3f32,
rear_toe: 0.4f32,
front_suspension: 5u8,
rear_suspension: 6u8,
front_anti_roll_bar: 7u8,
rear_anti_roll_bar: 8u8,
front_suspension_height: 9u8,
rear_suspension_height: 10u8,
brake_pressure: 11u8,
brake_bias: 12u8,
rear_left_tyre_pressure: 0.5f32,
rear_right_tyre_pressure: 0.6f32,
front_left_tyre_pressure: 0.7f32,
front_right_tyre_pressure: 0.8f32,
ballast: 13u8,
fuel_load: 0.9f32,
front_wing: rng.gen(),
rear_wing: rng.gen(),
on_throttle: rng.gen(),
off_throttle: rng.gen(),
front_camber: rng.gen(),
rear_camber: rng.gen(),
front_toe: rng.gen(),
rear_toe: rng.gen(),
front_suspension: rng.gen(),
rear_suspension: rng.gen(),
front_anti_roll_bar: rng.gen(),
rear_anti_roll_bar: rng.gen(),
front_suspension_height: rng.gen(),
rear_suspension_height: rng.gen(),
brake_pressure: rng.gen(),
brake_bias: rng.gen(),
rear_left_tyre_pressure: rng.gen(),
rear_right_tyre_pressure: rng.gen(),
front_left_tyre_pressure: rng.gen(),
front_right_tyre_pressure: rng.gen(),
ballast: rng.gen(),
fuel_load: rng.gen(),
};

let serialized_data: Vec<u8> = original_data.serialize().unwrap();
Expand All @@ -171,6 +174,8 @@ mod tests {

#[test]
fn test_packet_car_setup_data_serialization_deserialization() {
let mut rng = rand::thread_rng();

let original_packet: PacketCarSetupData = PacketCarSetupData {
header: PacketHeader {
packet_format: 2021u16,
Expand All @@ -187,28 +192,28 @@ mod tests {
secondary_player_car_index: 255u8,
},
car_setups: [CarSetupData {
front_wing: 1u8,
rear_wing: 2u8,
on_throttle: 3u8,
off_throttle: 4u8,
front_camber: 0.1f32,
rear_camber: 0.2f32,
front_toe: 0.3f32,
rear_toe: 0.4f32,
front_suspension: 5u8,
rear_suspension: 6u8,
front_anti_roll_bar: 7u8,
rear_anti_roll_bar: 8u8,
front_suspension_height: 9u8,
rear_suspension_height: 10u8,
brake_pressure: 11u8,
brake_bias: 12u8,
rear_left_tyre_pressure: 0.5f32,
rear_right_tyre_pressure: 0.6f32,
front_left_tyre_pressure: 0.7f32,
front_right_tyre_pressure: 0.8f32,
ballast: 13u8,
fuel_load: 0.9f32,
front_wing: rng.gen(),
rear_wing: rng.gen(),
on_throttle: rng.gen(),
off_throttle: rng.gen(),
front_camber: rng.gen(),
rear_camber: rng.gen(),
front_toe: rng.gen(),
rear_toe: rng.gen(),
front_suspension: rng.gen(),
rear_suspension: rng.gen(),
front_anti_roll_bar: rng.gen(),
rear_anti_roll_bar: rng.gen(),
front_suspension_height: rng.gen(),
rear_suspension_height: rng.gen(),
brake_pressure: rng.gen(),
brake_bias: rng.gen(),
rear_left_tyre_pressure: rng.gen(),
rear_right_tyre_pressure: rng.gen(),
front_left_tyre_pressure: rng.gen(),
front_right_tyre_pressure: rng.gen(),
ballast: rng.gen(),
fuel_load: rng.gen(),
}; 22],
};

Expand Down
Loading

0 comments on commit 14640c8

Please sign in to comment.