test_config_rejects_invalid_indicator_elements (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�settings.json.invalid-ef8a9b2d2fd24577bf1c4ad31c934f03.bak
ok
test_corrupt_configuration_displays_recovery_notice (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�settings.json.invalid-f869be801a314a8298d551f47d9f3672.bak
ok
test_corrupt_history_keeps_original_before_future_save (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�performance_history.json.invalid-f5fec2235bf3474fa9bfb0e9b759bacb.bak
ok
test_corrupt_history_row_does_not_hide_valid_record (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�performance_history.json.invalid-6589094786fc406783a27310ab1f1519.bak
ok
test_corrupt_session_does_not_stop_window_startup (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�session_state.json.invalid-5e6535b11cf44833ba55d95ee322f273.bak
�����ļ��쳣��ԭ���ѱ��ݣ�session_state.json.invalid-709f12ce621f4610b84ef50d4084be56.bak
ok
test_engine_invalid_prices_never_change_account (test_audit_fixes.AuditFixTests) ... ok
test_engine_rejects_fractional_quantity_and_unknown_node (test_audit_fixes.AuditFixTests) ... ok
test_failed_import_resumes_pending_save_without_changing_file (test_audit_fixes.AuditFixTests) ... ok
test_import_waiting_dialog_cannot_overwrite_new_session (test_audit_fixes.AuditFixTests) ... ok
test_invalid_sell_does_not_change_holdings (test_audit_fixes.AuditFixTests) ... ok
test_invalid_session_does_not_partially_replace_account (test_audit_fixes.AuditFixTests) ... �����ļ��쳣��ԭ���ѱ��ݣ�session_state.json.invalid-54e49168959e4bf084e10678496a1e53.bak
ok
test_legacy_null_initial_cash_uses_configured_default (test_audit_fixes.AuditFixTests) ... ok
test_pending_restart_blocks_direct_and_scheduled_persistence (test_audit_fixes.AuditFixTests) ... ok
test_t_plus_one_and_normal_sell_remain_correct (test_audit_fixes.AuditFixTests) ... ok
test_unbacked_corrupt_file_cannot_be_overwritten (test_audit_fixes.AuditFixTests) ... �����ļ���ȡ�쳣���޷����ݣ��ѽ�ֹ���ǣ�performance_history.json
ok
test_valid_session_round_trip (test_audit_fixes.AuditFixTests) ... ok
test_cleared_stats_with_preserved_file_offsets_are_rebuilt (test_market_sync.MarketSyncTests) ... ok
test_deleted_and_partially_cleared_cache_are_rebuilt (test_market_sync.MarketSyncTests) ... ok
test_incomplete_download_is_not_committed_and_can_retry (test_market_sync.MarketSyncTests) ... ok
test_same_directory_append_updates_both_index_and_statistics (test_market_sync.MarketSyncTests) ... ok
test_same_size_source_edit_recalculates (test_market_sync.MarketSyncTests) ... ok
test_unchanged_data_does_not_recompute_or_rewrite (test_market_sync.MarketSyncTests) ... ok
test_late_network_failure_cannot_replace_local_status (test_market_sync.MarketSyncWindowTests) ... FAIL
test_local_update_does_not_replace_training_engine (test_market_sync.MarketSyncWindowTests) ... FAIL
test_same_root_can_be_checked_again_after_completion (test_market_sync.MarketSyncWindowTests) ... FAIL
test_unchanged_check_does_not_refresh_chart (test_market_sync.MarketSyncWindowTests) ... ok
test_blank_data_directory_does_not_discover_current_working_directory (test_performance_regressions.PerformanceRegressionTests) ... ok
test_boll_invalidation_covers_middle_edit_parameters_and_hidden_day (test_performance_regressions.PerformanceRegressionTests) ... ok
test_boll_repeated_read_reuses_result_and_preserves_values (test_performance_regressions.PerformanceRegressionTests) ... ok
test_cached_indicators_do_not_change_drawn_output (test_performance_regressions.PerformanceRegressionTests) ... ok
test_panning_does_not_schedule_save_but_market_step_does (test_performance_regressions.PerformanceRegressionTests) ... ok
test_rolling_boll_matches_window_reference_over_long_history (test_performance_regressions.PerformanceRegressionTests) ... ok
test_unchanged_round_log_preserves_row_and_updates_changed_profit (test_performance_regressions.PerformanceRegressionTests) ... ok
test_blank_data_directory_does_not_discover_current_working_directory (test_performance_regressions.PerformanceRegressionTests) ... ok
test_boll_invalidation_covers_middle_edit_parameters_and_hidden_day (test_performance_regressions.PerformanceRegressionTests) ... ok
test_boll_repeated_read_reuses_result_and_preserves_values (test_performance_regressions.PerformanceRegressionTests) ... ok
test_cached_indicators_do_not_change_drawn_output (test_performance_regressions.PerformanceRegressionTests) ... ok
test_panning_does_not_schedule_save_but_market_step_does (test_performance_regressions.PerformanceRegressionTests) ... ok
test_rolling_boll_matches_window_reference_over_long_history (test_performance_regressions.PerformanceRegressionTests) ... ok
test_unchanged_round_log_preserves_row_and_updates_changed_profit (test_performance_regressions.PerformanceRegressionTests) ... ok
test_tdx_path_rejects_clipboard_paste (test_tdx_path_input.TdxPathInputTests) ... ok
test_tdx_path_rejects_keyboard_input (test_tdx_path_input.TdxPathInputTests) ... ok
test_test_runner_never_uses_the_real_user_data_directory (test_test_environment.TestEnvironmentIsolationTests) ... ok
test_b_shortcut_can_buy_at_selected_test_bar_while_future_bars_remain_visible (test_test_trade.TestTradeApplicationTests) ... ok
test_browse_with_return_context_keeps_return_controls_but_hides_mode_status (test_test_trade.TestTradeApplicationTests) ... ok
test_can_buy_immediately_at_selected_test_bar_while_future_bars_remain_visible (test_test_trade.TestTradeApplicationTests) ... ok
test_current_kline_phase_marker_changes_label_and_price_direction_color (test_test_trade.TestTradeApplicationTests) ... ok
test_direct_stock_browse_hides_training_mode_panel (test_test_trade.TestTradeApplicationTests) ... ok
test_held_index_preview_matches_direct_browse_history_view (test_test_trade.TestTradeApplicationTests) ... ok
test_held_index_preview_matches_formal_training_history_view (test_test_trade.TestTradeApplicationTests) ... ok
test_held_index_preview_matches_test_trade_visible_dates (test_test_trade.TestTradeApplicationTests) ... ok
test_held_index_preview_uses_test_trade_viewed_date_and_full_bar (test_test_trade.TestTradeApplicationTests) ... ok
test_help_menu_explains_test_trade_usage_and_conditions (test_test_trade.TestTradeApplicationTests) ... ok
test_index_overlay_uses_the_stock_viewed_date_in_history_view (test_test_trade.TestTradeApplicationTests) ... ok
test_playback_button_badge_follows_formal_mode_and_test_override (test_test_trade.TestTradeApplicationTests) ... ok
test_random_switch_from_test_restores_formal_holding_without_clear_prompt (test_test_trade.TestTradeApplicationTests) ... ok
test_return_to_trading_discards_test_state_before_restoring_formal_engine (test_test_trade.TestTradeApplicationTests) ... ok
test_right_clicking_completed_profit_strip_exits_test_so_another_start_can_be_chosen (test_test_trade.TestTradeApplicationTests) ... ok
test_start_and_menu_exit_restore_browse_session (test_test_trade.TestTradeApplicationTests) ... ok
test_test_trade_keeps_training_mode_panel_hidden (test_test_trade.TestTradeApplicationTests) ... ok
test_test_trades_are_not_persisted_or_archived (test_test_trade.TestTradeApplicationTests) ... ok
test_windowed_market_strip_height_stays_stable_when_text_wraps (test_test_trade.TestTradeApplicationTests) ... ok
test_right_double_click_on_candle_body_requests_test_trade_start (test_test_trade.TestTradeGestureTests) ... ok
test_active_menu_is_clickable_and_uses_exit_label (test_test_trade.TestTradeRulesTests) ... ok
test_body_hit_accepts_body_and_rejects_wick_only_area (test_test_trade.TestTradeRulesTests) ... ok
test_inactive_menu_is_grey_and_uses_entry_label (test_test_trade.TestTradeRulesTests) ... ok
test_test_window_keeps_future_bars_visible_when_selected_bar_was_at_right_edge (test_test_trade.TestTradeRulesTests) ... ok
test_test_window_preserves_more_existing_future_space (test_test_trade.TestTradeRulesTests) ... ok

======================================================================
FAIL: test_late_network_failure_cannot_replace_local_status (test_market_sync.MarketSyncWindowTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Young study\stock-simulator-Cust\tests\test_market_sync.py", line 110, in test_late_network_failure_cannot_replace_local_status
    self.assertEqual(window.market_stats_status, '')
AssertionError: '�г�ͳ����δ����' != ''
- �г�ͳ����δ����
+ 


======================================================================
FAIL: test_local_update_does_not_replace_training_engine (test_market_sync.MarketSyncWindowTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Young study\stock-simulator-Cust\tests\test_market_sync.py", line 123, in test_local_update_does_not_replace_training_engine
    self.assertEqual(window.market_stats_by_date, stats)
AssertionError: {} != {'2026-09-04': DailyMarketStats(date='2026[95 chars]t=0)}
- {}
+ {'2026-09-04': DailyMarketStats(date='2026-09-04',
+                                 up_count=12,
+                                 down_count=0,
+                                 flat_count=0,
+                                 amount=0.0,
+                                 limit_up_count=0,
+                                 limit_down_count=0)}

======================================================================
FAIL: test_same_root_can_be_checked_again_after_completion (test_market_sync.MarketSyncWindowTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Young study\stock-simulator-Cust\tests\test_market_sync.py", line 103, in test_same_root_can_be_checked_again_after_completion
    pool.globalInstance.return_value.start.assert_called_once()
  File "D:\Young study\Python embeded\Lib\unittest\mock.py", line 908, in assert_called_once
    raise AssertionError(msg)
AssertionError: Expected 'start' to have been called once. Called 0 times.

----------------------------------------------------------------------
Ran 68 tests in 23.535s

FAILED (failures=3)
