test_ai_a_conditional_heal (test_model.ModelTests.test_ai_a_conditional_heal) ... ok
test_ai_b_lethal_accounts_for_wall (test_model.ModelTests.test_ai_b_lethal_accounts_for_wall) ... ok
test_ai_c_remaining_player_hand_branch (test_model.ModelTests.test_ai_c_remaining_player_hand_branch) ... ok
test_bank_all_have_wins (test_model.ModelTests.test_bank_all_have_wins) ... ok
test_barrier_expires_on_heal (test_model.ModelTests.test_barrier_expires_on_heal) ... ok
test_barrier_expires_on_wall (test_model.ModelTests.test_barrier_expires_on_wall) ... ok
test_cross_process_replay_draw_pause_undo (test_model.ModelTests.test_cross_process_replay_draw_pause_undo) ... ok
test_damage_greedy_not_dominant (test_model.ModelTests.test_damage_greedy_not_dominant) ... ok
test_dead_player_is_terminal (test_model.ModelTests.test_dead_player_is_terminal) ... ok
test_defense_clamps_damage (test_model.ModelTests.test_defense_clamps_damage) ... ok
test_exhaustive_ownership_invariants (test_model.ModelTests.test_exhaustive_ownership_invariants) ... ok
test_final_round_win_before_draw (test_model.ModelTests.test_final_round_win_before_draw) ... ok
test_fire_and_spark_damage (test_model.ModelTests.test_fire_and_spark_damage) ... ok
test_fixed_ownership_card_counts (test_model.ModelTests.test_fixed_ownership_card_counts) ... ok
test_forecast_matches_atomic_manual_composition (test_model.ModelTests.test_forecast_matches_atomic_manual_composition) ... ok
test_healing_cap (test_model.ModelTests.test_healing_cap) ... ok
test_invalid_no_time (test_model.ModelTests.test_invalid_no_time) ... ok
test_kill_transfers_before_terminal_no_counter (test_model.ModelTests.test_kill_transfers_before_terminal_no_counter) ... ok
test_meaningful_alternatives (test_model.ModelTests.test_meaningful_alternatives) ... ok
test_one_rule_comparison_both_win (test_model.ModelTests.test_one_rule_comparison_both_win) ... ok
test_passed_card_immediately_usable (test_model.ModelTests.test_passed_card_immediately_usable) ... ok
test_tampered_board_and_ticks_rejected (test_model.ModelTests.test_tampered_board_and_ticks_rejected) ... ok
test_twelve_rounds_draw_and_undo (test_model.ModelTests.test_twelve_rounds_draw_and_undo) ... ok
test_undo_atomic_round (test_model.ModelTests.test_undo_atomic_round) ... ok
test_wall_used_against_next_action (test_model.ModelTests.test_wall_used_against_next_action) ... ok
test_zero_healing_still_transfers (test_model.ModelTests.test_zero_healing_still_transfers) ... ok
test_animation_release_polling (test_ui.UITests.test_animation_release_polling) ... ok
test_comparison_reset_preserves_rule (test_ui.UITests.test_comparison_reset_preserves_rule) ... ok
test_hold_during_animation_not_recast (test_ui.UITests.test_hold_during_animation_not_recast) ... ok
test_pause_freezes_animation (test_ui.UITests.test_pause_freezes_animation) ... ok
test_pause_release_fresh_action_works (test_ui.UITests.test_pause_release_fresh_action_works) ... ok
test_result_undo_and_retry_release (test_ui.UITests.test_result_undo_and_retry_release) ... ok
test_resume_held_action_blocked (test_ui.UITests.test_resume_held_action_blocked) ... ok
test_start_hold_never_casts (test_ui.UITests.test_start_hold_never_casts) ... ok
test_undo_cancels_animation_round (test_ui.UITests.test_undo_cancels_animation_round) ... ok

----------------------------------------------------------------------
Ran 35 tests in 0.402s

OK
