test_blocked_action_not_in_history (__main__.Input.test_blocked_action_not_in_history) ... ok
test_early_undo_disabled (__main__.Input.test_early_undo_disabled) ... ok
test_history_cap (__main__.Input.test_history_cap) ... ok
test_hold_and_stagger_gate (__main__.Input.test_hold_and_stagger_gate) ... ok
test_mode_clears_pair_preserves_cursor (__main__.Input.test_mode_clears_pair_preserves_cursor) ... ok
test_multiple_rejected (__main__.Input.test_multiple_rejected) ... ok
test_restart_confirm_cancel (__main__.Input.test_restart_confirm_cancel) ... ok
test_restart_enter_stagger (__main__.Input.test_restart_enter_stagger) ... ok
test_selection_does_not_change_state_or_history (__main__.Input.test_selection_does_not_change_state_or_history) ... ok
test_selection_toggle_and_incomplete_confirm (__main__.Input.test_selection_toggle_and_incomplete_confirm) ... ok
test_source_controller_history_fixture (__main__.Input.test_source_controller_history_fixture) ... ok
test_swap_pair_clears (__main__.Input.test_swap_pair_clears) ... ok
test_target_any_arrow (__main__.Input.test_target_any_arrow) ... ok
test_undo_navigation_and_restart (__main__.Input.test_undo_navigation_and_restart) ... ok
test_undo_one_changed_action (__main__.Input.test_undo_one_changed_action) ... ok
test_wait_is_changed_action (__main__.Input.test_wait_is_changed_action) ... ok
test_boundaries_and_invalid_direction (__main__.Models.test_boundaries_and_invalid_direction) ... ok
test_bridge_requires_flag (__main__.Models.test_bridge_requires_flag) ... ok
test_bridge_rescue (__main__.Models.test_bridge_rescue) ... ok
test_completed_scene_updates (__main__.Models.test_completed_scene_updates) ... ok
test_demo_goals (__main__.Models.test_demo_goals) ... ok
test_early_projection (__main__.Models.test_early_projection) ... ok
test_ferry_follow_and_submerged_overlap (__main__.Models.test_ferry_follow_and_submerged_overlap) ... ok
test_ferry_rescue (__main__.Models.test_ferry_rescue) ... ok
test_fixture_all_states_full_models (__main__.Models.test_fixture_all_states_full_models) ... ok
test_float_collision_defensive_case (__main__.Models.test_float_collision_defensive_case) ... ok
test_initial_ferry_blocked (__main__.Models.test_initial_ferry_blocked) ... ok
test_next_requires_completion (__main__.Models.test_next_requires_completion) ... ok
test_no_penalty_or_score (__main__.Models.test_no_penalty_or_score) ... ok
test_previous_preserves_all_pages (__main__.Models.test_previous_preserves_all_pages) ... ok
test_pull_distance (__main__.Models.test_pull_distance) ... ok
test_restart_only_current_page (__main__.Models.test_restart_only_current_page) ... ok
test_short_bridge_only_cell_two (__main__.Models.test_short_bridge_only_cell_two) ... ok
test_stage_one_only_swap (__main__.Models.test_stage_one_only_swap) ... ok
test_tag_conservation (__main__.Models.test_tag_conservation) ... ok
test_wind_end_and_disembark (__main__.Models.test_wind_end_and_disembark) ... ok
test_wind_fly_over_sign (__main__.Models.test_wind_fly_over_sign) ... ok
test_wind_gap (__main__.Models.test_wind_gap) ... ok
test_wind_heavy_riding_stays (__main__.Models.test_wind_heavy_riding_stays) ... ok
test_wind_only_light_and_follow (__main__.Models.test_wind_only_light_and_follow) ... ok
test_wind_swap_no_motion_no_fall (__main__.Models.test_wind_swap_no_motion_no_fall) ... ok
test_actual_memory_text_rendered (__main__.Packaging.test_actual_memory_text_rendered) ... ok
test_cli_negative_cases_without_pyxel (__main__.Packaging.test_cli_negative_cases_without_pyxel) ... ok
test_draw_pure_ascii_bounds (__main__.Packaging.test_draw_pure_ascii_bounds) ... ok
test_lazy_pyxel_stdlib_import (__main__.Packaging.test_lazy_pyxel_stdlib_import) ... ok
test_license_and_requirements (__main__.Packaging.test_license_and_requirements) ... ok
test_live_original (__main__.Packaging.test_live_original) ... skipped 'optional live canonical source not specified'
test_snippets_and_diffs (__main__.Packaging.test_snippets_and_diffs) ... ok
test_app_no_files_until_save (__main__.Save.test_app_no_files_until_save) ... ok
test_bad_load_keeps_state_history_and_selection (__main__.Save.test_bad_load_keeps_state_history_and_selection) ... ok
test_byte_size_and_symlink (__main__.Save.test_byte_size_and_symlink) ... ok
test_complete_roundtrip (__main__.Save.test_complete_roundtrip) ... ok
test_failed_replace_preserves_previous_and_cleans_temp (__main__.Save.test_failed_replace_preserves_previous_and_cleans_temp) ... ok
test_history_and_event_limit (__main__.Save.test_history_and_event_limit) ... ok
test_invalid_page_values (__main__.Save.test_invalid_page_values) ... ok
test_invalid_structures (__main__.Save.test_invalid_structures) ... ok
test_load_clears_selection_and_returns_walk (__main__.Save.test_load_clears_selection_and_returns_walk) ... ok
test_overwrite_own_book (__main__.Save.test_overwrite_own_book) ... ok
test_partial_roundtrip_and_history (__main__.Save.test_partial_roundtrip_and_history) ... ok
test_persistence_across_fresh_processes (__main__.Save.test_persistence_across_fresh_processes) ... ok
test_refuse_foreign_json (__main__.Save.test_refuse_foreign_json) ... ok
test_settings_and_following (__main__.Save.test_settings_and_following) ... ok
test_source_and_version_mismatch (__main__.Save.test_source_and_version_mismatch) ... ok
test_structural_not_reachability_validation (__main__.Save.test_structural_not_reachability_validation) ... ok
test_unspecified_destination (__main__.Save.test_unspecified_destination) ... ok

----------------------------------------------------------------------
Ran 65 tests in 1.332s

OK (skipped=1)
