diff --git a/README.md b/README.md index b519d3b..d33c0e0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ use wotbreplay_parser::Replay; use wotbreplay_parser::models::TeamNumber; fn main() -> Result<()> { - let battle_results = Replay::open(File::open("tests/replays/battle_results_ok.wotbreplay")?)? + let battle_results = Replay::open(File::open("tests/replays/battle_results.wotbreplay")?)? .read_battle_results()?; assert_eq!(battle_results.timestamp, 1670018359); diff --git a/src/models/battle_results.rs b/src/models/battle_results.rs index c647d7a..d14acc7 100644 --- a/src/models/battle_results.rs +++ b/src/models/battle_results.rs @@ -128,13 +128,11 @@ pub struct PlayerResultsInfo { #[prost(uint32, tag = "18")] pub n_enemies_destroyed: u32, - /// TODO: distinguish earned vs seized. #[prost(uint32, tag = "32")] - pub victory_points_1: u32, + pub victory_points_earned: u32, - /// TODO: distinguish earned vs seized. #[prost(uint32, tag = "33")] - pub victory_points_2: u32, + pub victory_points_seized: u32, /// Player's account ID. #[prost(uint32, tag = "101")] diff --git a/tests/battle_results.rs b/tests/battle_results.rs index 7677fe6..48c9e3c 100644 --- a/tests/battle_results.rs +++ b/tests/battle_results.rs @@ -1,12 +1,11 @@ use std::fs::File; use anyhow::Result; -use wotbreplay_parser::models::TeamNumber; use wotbreplay_parser::Replay; #[test] fn player_results_ok() -> Result<()> { - let battle_results = Replay::open(File::open("tests/replays/player_results_ok.wotbreplay")?)? + let battle_results = Replay::open(File::open("tests/replays/player_results.wotbreplay")?)? .read_battle_results()?; let snak_the_ripper_info = &battle_results.player_results[3].info; @@ -35,8 +34,8 @@ fn player_results_ok() -> Result<()> { assert_eq!(zeekrab_info.n_hits_received, 3); assert_eq!(zeekrab_info.n_penetrations_received, 3); assert_eq!(zeekrab_info.n_non_penetrating_hits_received, 0); - assert_eq!(zeekrab_info.victory_points_1, 40); - assert_eq!(zeekrab_info.victory_points_2, 40); + assert_eq!(zeekrab_info.victory_points_earned, 40); + assert_eq!(zeekrab_info.victory_points_seized, 40); assert_eq!(zeekrab_info.tank_id, 26657); assert_eq!(zeekrab_info.credits, 37679); assert_eq!(zeekrab_info.n_enemies_damaged, 2); @@ -69,7 +68,7 @@ fn player_results_ok() -> Result<()> { #[test] fn clan_tags_ok() -> Result<()> { - let battle_results = Replay::open(File::open("tests/replays/player_results_ok.wotbreplay")?)? + let battle_results = Replay::open(File::open("tests/replays/player_results.wotbreplay")?)? .read_battle_results()?; assert_eq!(battle_results.players[1].info.clan_tag.as_deref(), Some("AN0NY")); @@ -78,3 +77,20 @@ fn clan_tags_ok() -> Result<()> { Ok(()) } + +#[test] +fn victory_points_ok() -> Result<()> { + let battle_results = Replay::open(File::open("tests/replays/victory_points.wotbreplay")?)? + .read_battle_results()?; + + assert_eq!(battle_results.player_results[1].info.victory_points_seized, 40); + assert_eq!(battle_results.player_results[1].info.victory_points_earned, 40); + + assert_eq!(battle_results.player_results[3].info.victory_points_seized, 0); + assert_eq!(battle_results.player_results[3].info.victory_points_earned, 112); + + assert_eq!(battle_results.player_results[5].info.victory_points_earned, 280); + assert_eq!(battle_results.player_results[5].info.victory_points_seized, 0); + + Ok(()) +} diff --git a/tests/replays/battle_results_ok.wotbreplay b/tests/replays/battle_results.wotbreplay similarity index 100% rename from tests/replays/battle_results_ok.wotbreplay rename to tests/replays/battle_results.wotbreplay diff --git a/tests/replays/player_results_ok.wotbreplay b/tests/replays/player_results.wotbreplay similarity index 100% rename from tests/replays/player_results_ok.wotbreplay rename to tests/replays/player_results.wotbreplay diff --git a/tests/replays/victory_points.wotbreplay b/tests/replays/victory_points.wotbreplay new file mode 100644 index 0000000..356fda9 Binary files /dev/null and b/tests/replays/victory_points.wotbreplay differ