Fix heatmap issue and implement per round analysis
This commit is contained in:
@@ -11,8 +11,7 @@ fn heatmap_nuke() {
|
||||
let config = heatmap::Config { cell_size: 5.0 };
|
||||
let result = heatmap::parse(&config, &input_bytes).unwrap();
|
||||
|
||||
assert_eq!(result.player_heatmaps.len(), 11);
|
||||
assert_eq!(result.entity_to_player.len(), 12);
|
||||
assert_eq!(result.player_heatmaps.len(), 10);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -25,7 +24,7 @@ fn heatmap_inferno() {
|
||||
let config = heatmap::Config { cell_size: 5.0 };
|
||||
let result = heatmap::parse(&config, &input_bytes).unwrap();
|
||||
|
||||
assert_eq!(result.player_heatmaps.len(), result.player_info.len(), "Players: {:?}", result.player_heatmaps.keys().collect::<Vec<_>>());
|
||||
assert_eq!(result.player_heatmaps.len(), 10);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -38,18 +37,5 @@ fn heatmap_dust2() {
|
||||
let config = heatmap::Config { cell_size: 5.0 };
|
||||
let result = heatmap::parse(&config, &input_bytes).unwrap();
|
||||
|
||||
assert_eq!(result.player_heatmaps.len(), result.player_info.len(), "Players: {:?}", result.player_heatmaps.keys().collect::<Vec<_>>());
|
||||
assert_eq!(
|
||||
result.player_info.len(),
|
||||
result.entity_to_player.len(),
|
||||
"Missing Entity-to-Player: {:?} - Missing Player-Info: {:?}",
|
||||
result.player_heatmaps.keys().filter(|entity| !result.entity_to_player.contains_key(*entity)).collect::<Vec<_>>(),
|
||||
result.player_info.iter().filter_map(|(user_id, info)| {
|
||||
if result.entity_to_player.values().any(|p| p == user_id) {
|
||||
return None;
|
||||
}
|
||||
|
||||
Some(info)
|
||||
}).collect::<Vec<_>>(),
|
||||
);
|
||||
assert_eq!(result.player_heatmaps.len(), 10);
|
||||
}
|
||||
|
||||
14
analysis/tests/perround.rs
Normal file
14
analysis/tests/perround.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
use analysis::perround;
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
#[test]
|
||||
fn perround_nuke() {
|
||||
let path = concat!(env!("CARGO_MANIFEST_DIR"), "/../testfiles/nuke.dem");
|
||||
dbg!(path);
|
||||
let input_bytes = std::fs::read(path).unwrap();
|
||||
|
||||
let result = perround::parse(&input_bytes).unwrap();
|
||||
dbg!(&result);
|
||||
|
||||
assert_eq!(21, result.rounds.len());
|
||||
}
|
||||
Reference in New Issue
Block a user