brkrs 0.0.1

Breakout/Arkanoid-style game built in Rust using the Bevy engine, with physics powered by bevy_rapier3d
Documentation
//! Integration test scaffolds for level transition and compatibility behaviors.
//! Currently focuses on state resource evolution; future work will exercise full ECS flows.

use brkrs::level_loader::LevelAdvanceState;

// NOTE: Full system invocation (advance_level_when_cleared -> handle_level_advance_delay -> finalize_level_advance)
// will be added once test harness utilities for spawning bricks/ball are in place.

#[test]
fn level_advance_state_default() {
    let state = LevelAdvanceState::default();
    assert!(!state.active);
    assert!(!state.growth_spawned);
    assert!(state.pending.is_none());
    assert!(!state.unfreezing);
    assert_eq!(state.timer.duration(), std::time::Duration::from_secs(1));
}

#[test]
#[ignore]
fn transition_two_stage_unfreeze_future() {
    // Placeholder: will simulate frames and assert BallFrozen removal precedes velocity cleanup.
    // Steps (planned):
    // 1. Build App with LevelLoaderPlugin
    // 2. Spawn level & clear bricks to trigger advance
    // 3. Step frames while checking LevelAdvanceState.unfreezing flag
    // 4. Assert ball entity loses BallFrozen then (next frame) has zeroed Velocity then impulse applied
    // For now, ignored.
}

#[test]
#[ignore]
fn backward_compat_warning_future() {
    // Placeholder: will load synthetic 22x22 matrix via direct function call or temporary file
    // and capture logs using a tracing subscriber capturing warn! output.
}