subtr-actor 1.0.0

Rocket League replay transformer
Documentation
use super::*;

fn touch(frame: usize, time: f32, player: PlayerId, team_is_team_0: bool) -> TouchEvent {
    TouchEvent {
        touch_id: None,
        time,
        frame,
        team_is_team_0,
        player: Some(player),
        player_position: None,
        closest_approach_distance: Some(0.0),
        dodge_contact: false,
    }
}

#[test]
fn tracker_uses_latest_touch_player_for_team_independent_of_slice_order() {
    let earlier_player = PlayerId::Steam(1);
    let later_player = PlayerId::Steam(2);
    let mut tracker = PossessionTracker::default();
    let later_touch = touch(20, 2.0, later_player.clone(), true);
    let earlier_touch = touch(10, 1.0, earlier_player, true);

    let state = tracker.update(2.0, &[later_touch, earlier_touch]);

    assert_eq!(state.current_team_is_team_0, Some(true));
    assert_eq!(state.current_player, Some(later_player));
}