✔ ready state has three lives, zero score and middle lane (1.1463ms)
✔ ready state ignores ticks and moves (0.2742ms)
✔ start only transitions ready (0.1857ms)
✔ movement clamps both boundaries (0.1283ms)
✔ invalid lanes cannot poison game state (0.2135ms)
✔ candy crossing gives ten points and removes object (0.2333ms)
✔ ghost crossing costs exactly one life (0.1665ms)
✔ other lane cannot score or damage (0.1369ms)
✔ moving under an already missed object does not collect it (0.1496ms)
✔ objects outside the playfield are culled (0.2088ms)
✔ final ghost ends the game and freezes it (0.3518ms)
✔ multiple ghost hits never make lives negative (0.1614ms)
✔ round ends at exactly 45 simulation seconds (1.7395ms)
✔ last life loss takes precedence over duration (0.1418ms)
✔ pause freezes time, spawns, objects and movement (0.1533ms)
✔ resume advances exactly one step (0.1395ms)
✔ resume cannot resurrect a terminal game (0.0737ms)
✔ invalid simulation steps are rejected (0.5304ms)
✔ fractional final step never overshoots duration (0.0884ms)
✔ seeded random values stay inside the half-open unit range (1.6092ms)
✔ equal seeds and inputs reproduce the complete round state (3.3999ms)
✔ different seeds produce different spawns (1.1999ms)
✔ reset creates an independent random stream and pristine state (0.1248ms)
✔ long simulations keep objects bounded and lanes valid (30.8441ms)
ℹ tests 24
ℹ suites 0
ℹ pass 24
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 63.7887
