[ "tests/test_fractional_orders.py::TestHappyPath::test_fractional_dry_run_fills", "tests/test_fractional_orders.py::TestHappyPath::test_whole_dry_run_fills", "tests/test_fractional_orders.py::TestOrderRequestValidation::test_stop_and_tp_present", "tests/test_fractional_orders.py::TestOrderRequestValidation::test_valid_buy_order", "tests/test_fractional_orders.py::TestOrderRequestValidation::test_valid_sell_order", "tests/test_fractional_orders.py::TestRoutingLogic::test_fractional_flag_detection", "tests/test_fractional_orders.py::TestRoutingLogic::test_whole_flag_detection", "tests/test_order_manager.py::TestDryRunSimulation::test_dry_run_returns_fill", "tests/test_order_manager.py::TestLimitPrice::test_buy_limit_within_spread", "tests/test_order_manager.py::TestLimitPrice::test_sell_limit_within_spread", "tests/test_order_manager.py::TestOrderRouting::test_dry_run_fractional_order", "tests/test_order_manager.py::TestOrderRouting::test_dry_run_whole_order", "tests/test_order_manager.py::TestSpreadCheck::test_acceptable_spread", "tests/test_order_manager.py::TestSpreadCheck::test_dry_run_spread_always_passes", "tests/test_order_manager.py::TestSpreadCheck::test_wide_spread_rejected", "tests/test_pdt.py::TestCanDayTrade::test_above_25k_always_allows", "tests/test_pdt.py::TestCanDayTrade::test_allows_if_no_day_trades", "tests/test_pdt.py::TestCanDayTrade::test_blocks_at_limit", "tests/test_pdt.py::TestCanDayTrade::test_cash_account_bypasses_pdt", "tests/test_pdt.py::TestDayTradeDetection::test_closing_different_day_not_day_trade", "tests/test_pdt.py::TestDayTradeDetection::test_closing_same_day_is_day_trade", "tests/test_pdt.py::TestDayTradeDetection::test_no_position_not_day_trade", "tests/test_pdt.py::TestDayTradeDetection::test_same_side_not_closing", "tests/test_pdt.py::TestSettlementDate::test_settlement_is_after_trade", "tests/test_risk.py::TestConsecutiveLosses::test_half_size_after_3_losses", "tests/test_risk.py::TestConsecutiveLosses::test_pause_after_3_losses", "tests/test_risk.py::TestDailyLossLimit::test_allows_within_limit", "tests/test_risk.py::TestDailyLossLimit::test_blocks_after_max_loss", "tests/test_risk.py::TestMaxPositions::test_allows_below_max", "tests/test_risk.py::TestMaxPositions::test_blocks_at_max", "tests/test_risk.py::TestPositionSizing::test_fractional_flag", "tests/test_risk.py::TestPositionSizing::test_size_within_risk_budget", "tests/test_risk.py::TestProfitLock::test_locks_after_target", "tests/test_risk.py::TestSafeMode::test_safe_mode_blocks", "tests/test_safety_invariants.py::TestSafetyInvariants::test_concurrent_reservations", "tests/test_safety_invariants.py::TestSafetyInvariants::test_data_staleness_logic", "tests/test_safety_invariants.py::TestSafetyInvariants::test_failed_api_submission_releases", "tests/test_safety_invariants.py::TestSafetyInvariants::test_refresh_reconciles_open_orders", "tests/test_safety_invariants.py::TestSafetyInvariants::test_reservation_idempotency", "tests/test_safety_invariants.py::TestSafetyInvariants::test_sell_orders_ignore_limit", "tests/test_safety_invariants.py::TestSafetyInvariants::test_timeout_releases_reservation", "tests/test_signals.py::TestATR::test_atr_positive", "tests/test_signals.py::TestATR::test_atr_shape", "tests/test_signals.py::TestBollingerBands::test_bb_returns_three", "tests/test_signals.py::TestBollingerBands::test_upper_above_lower", "tests/test_signals.py::TestComputeTechnical::test_insufficient_data_returns_zero", "tests/test_signals.py::TestComputeTechnical::test_returns_score_and_target", "tests/test_signals.py::TestComputeTechnical::test_sub_signals_populated", "tests/test_signals.py::TestEMA::test_ema_last_near_close", "tests/test_signals.py::TestEMA::test_ema_shape", "tests/test_signals.py::TestMACD::test_histogram_equals_diff", "tests/test_signals.py::TestMACD::test_macd_returns_three_series", "tests/test_signals.py::TestRSI::test_rsi_bounds", "tests/test_signals.py::TestRSI::test_rsi_insufficient_data", "tests/test_signals.py::TestRSI::test_rsi_shape", "tests/test_signals.py::TestVWAP::test_vwap_session_aware", "tests/test_signals.py::TestVWAP::test_vwap_within_hl_range", "tests/test_vwap.py::TestVWAPSessionBoundary::test_empty_dataframe", "tests/test_vwap.py::TestVWAPSessionBoundary::test_vwap_accumulates_within_session", "tests/test_vwap.py::TestVWAPSessionBoundary::test_vwap_resets_each_session", "tests/test_vwap.py::TestVWAPSessionBoundary::test_vwap_within_price_range", "tests/test_websocket_reconnect.py::TestDedup::test_different_timestamps_accepted", "tests/test_websocket_reconnect.py::TestDedup::test_duplicate_bar_rejected", "tests/test_websocket_reconnect.py::TestDedup::test_seen_set_initialized", "tests/test_websocket_reconnect.py::TestDisconnectTracking::test_connection_state", "tests/test_websocket_reconnect.py::TestDisconnectTracking::test_disconnect_time_tracked", "tests/test_websocket_reconnect.py::TestExponentialBackoff::test_backoff_increases", "tests/test_websocket_reconnect.py::TestExponentialBackoff::test_first_backoff_is_small" ]