subtr-actor 0.7.0

Rocket League replay transformer
Documentation
use super::*;
use crate::GoalEvent;

#[test]
fn kickoff_waiting_for_first_touch_is_not_live_play() {
    let mut tracker = LivePlayTracker::default();
    let gameplay = GameplayState {
        ball_has_been_hit: Some(false),
        ..Default::default()
    };
    let state = tracker.state_parts(&gameplay, &FrameEventsState::default());

    assert_eq!(state.gameplay_phase, GameplayPhase::KickoffWaitingForTouch);
    assert!(!state.is_live_play);
    assert!(state.gameplay_phase.counts_toward_player_motion());
}

#[test]
fn goal_event_enters_post_goal_phase() {
    let mut tracker = LivePlayTracker::default();
    let gameplay = GameplayState::default();
    let events = FrameEventsState {
        goal_events: vec![GoalEvent {
            time: 10.0,
            frame: 1,
            scoring_team_is_team_0: true,
            player: None,
            team_zero_score: None,
            team_one_score: None,
        }],
        ..Default::default()
    };

    let state = tracker.state_parts(&gameplay, &events);

    assert_eq!(state.gameplay_phase, GameplayPhase::PostGoal);
    assert!(!state.is_live_play);
}