diff --git a/README.md b/README.md index d33c0e0..d3950c6 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,11 @@ fn main() -> Result<()> { assert_eq!(battle_results.players[0].account_id, 520886428); assert_eq!(battle_results.players[0].info.nickname, "77mmmr"); - assert_eq!(battle_results.players[0].info.team_number(), TeamNumber::Two); + assert_eq!(battle_results.players[0].info.team(), TeamNumber::Two); assert_eq!(battle_results.players[0].info.platoon_id, None); assert_eq!(battle_results.players[1].info.nickname, "SNAK_THE_RIPPER"); - assert_eq!(battle_results.players[1].info.team_number(), TeamNumber::One); + assert_eq!(battle_results.players[1].info.team(), TeamNumber::One); assert_eq!(battle_results.players[1].info.platoon_id, Some(547466834)); Ok(()) diff --git a/src/models/battle_results.rs b/src/models/battle_results.rs index 240b39d..76aa362 100644 --- a/src/models/battle_results.rs +++ b/src/models/battle_results.rs @@ -21,7 +21,9 @@ pub struct BattleResults { #[prost(int64, tag = "2")] pub timestamp: i64, - // TODO: tag 3 – winning team number? + #[prost(enumeration = "TeamNumber", tag = "3")] + pub winning_team: i32, + /// Players in the battle. #[prost(message, repeated, tag = "201")] pub players: Vec, @@ -58,7 +60,7 @@ pub struct PlayerInfo { /// Player's team assignment. #[prost(enumeration = "TeamNumber", tag = "3")] - pub team_number: i32, + pub team: i32, #[prost(string, optional, tag = "5")] pub clan_tag: Option, diff --git a/tests/battle_results.rs b/tests/battle_results.rs index 48c9e3c..679ae5b 100644 --- a/tests/battle_results.rs +++ b/tests/battle_results.rs @@ -1,6 +1,7 @@ use std::fs::File; use anyhow::Result; +use wotbreplay_parser::models::TeamNumber; use wotbreplay_parser::Replay; #[test] @@ -94,3 +95,13 @@ fn victory_points_ok() -> Result<()> { Ok(()) } + +#[test] +fn winning_team_ok() -> Result<()> { + let battle_results = Replay::open(File::open("tests/replays/winning_team.wotbreplay")?)? + .read_battle_results()?; + + assert_eq!(battle_results.winning_team(), TeamNumber::One); + + Ok(()) +} diff --git a/tests/replays/winning_team.wotbreplay b/tests/replays/winning_team.wotbreplay new file mode 100644 index 0000000..c000f61 Binary files /dev/null and b/tests/replays/winning_team.wotbreplay differ