test_documented_snippets_are_real (test_stages.CanonicalSubset.test_documented_snippets_are_real) ... ok
test_every_reference_state_for_a (test_stages.CanonicalSubset.test_every_reference_state_for_a) ... ok
test_all_stages_import_without_pyxel (test_stages.GridAndGoals.test_all_stages_import_without_pyxel) ... ok
test_contact_after_guard_moves (test_stages.GridAndGoals.test_contact_after_guard_moves) ... ok
test_contact_beats_goal (test_stages.GridAndGoals.test_contact_beats_goal) ... ok
test_contact_before_guard_can_move (test_stages.GridAndGoals.test_contact_before_guard_can_move) ... ok
test_documented_reachable_checkpoints (test_stages.GridAndGoals.test_documented_reachable_checkpoints) ... ok
test_each_stage_has_only_local_model_and_standard_imports (test_stages.GridAndGoals.test_each_stage_has_only_local_model_and_standard_imports) ... ok
test_final_routes_and_terminal (test_stages.GridAndGoals.test_final_routes_and_terminal) ... ok
test_grid_and_wall_do_not_spend_turn (test_stages.GridAndGoals.test_grid_and_wall_do_not_spend_turn) ... ok
test_stage_one_book_and_exit (test_stages.GridAndGoals.test_stage_one_book_and_exit) ... ok
test_blocked_action_adds_no_history (test_stages.MemoryAndHistory.test_blocked_action_adds_no_history) ... ok
test_new_sound_replaces_old_eye_memory (test_stages.MemoryAndHistory.test_new_sound_replaces_old_eye_memory) ... ok
test_preview_is_conditional_and_does_not_mutate (test_stages.MemoryAndHistory.test_preview_is_conditional_and_does_not_mutate) ... ok
test_reset_clears_all_history (test_stages.MemoryAndHistory.test_reset_clears_all_history) ... ok
test_same_position_new_observation_restarts_search (test_stages.MemoryAndHistory.test_same_position_new_observation_restarts_search) ... ok
test_search_two_rotations_then_resume_patrol (test_stages.MemoryAndHistory.test_search_two_rotations_then_resume_patrol) ... ok
test_stage_three_does_not_remember (test_stages.MemoryAndHistory.test_stage_three_does_not_remember) ... ok
test_undo_every_field_including_win_and_memory (test_stages.MemoryAndHistory.test_undo_every_field_including_win_and_memory) ... ok
test_unreachable_memory_does_not_track_hidden_player (test_stages.MemoryAndHistory.test_unreachable_memory_does_not_track_hidden_player) ... ok
test_bfs_tie_break_order (test_stages.ObservationAndSound.test_bfs_tie_break_order) ... ok
test_closed_wall_blocks_even_large_sound (test_stages.ObservationAndSound.test_closed_wall_blocks_even_large_sound) ... ok
test_floor_and_stomp_radius (test_stages.ObservationAndSound.test_floor_and_stomp_radius) ... ok
test_hidden_player_not_available_to_policy (test_stages.ObservationAndSound.test_hidden_player_not_available_to_policy) ... ok
test_old_position_once_only (test_stages.ObservationAndSound.test_old_position_once_only) ... ok
test_path_wall_detour_and_inclusive_sound (test_stages.ObservationAndSound.test_path_wall_detour_and_inclusive_sound) ... ok
test_sight_range_side_and_walls (test_stages.ObservationAndSound.test_sight_range_side_and_walls) ... ok
test_sight_wins_over_sound (test_stages.ObservationAndSound.test_sight_wins_over_sound) ... ok
test_wait_silent_even_on_metal (test_stages.ObservationAndSound.test_wait_silent_even_on_metal) ... ok
test_idle_and_held_arrow_do_not_repeat (test_stages.SyntheticController.test_idle_and_held_arrow_do_not_repeat) ... ok
test_multiple_action_keys_rejected (test_stages.SyntheticController.test_multiple_action_keys_rejected) ... ok
test_reset_waits_for_all_keys_released (test_stages.SyntheticController.test_reset_waits_for_all_keys_released) ... ok
test_undo_controller_after_terminal (test_stages.SyntheticController.test_undo_controller_after_terminal) ... ok

----------------------------------------------------------------------
Ran 33 tests in 0.223s

OK
