import time from simulation.sim_base import BaseSimulation, run_sim class AISettingsSimulation(BaseSimulation): def run(self) -> None: """ [C: simulation/sim_base.py:run_sim, tests/conftest.py:kill_process_tree, tests/conftest.py:live_gui, tests/test_conductor_abort_event.py:test_conductor_abort_event_populated, tests/test_conductor_engine_v2.py:test_conductor_engine_dynamic_parsing_and_execution, tests/test_conductor_engine_v2.py:test_conductor_engine_run_executes_tickets_in_order, tests/test_extended_sims.py:test_ai_settings_sim_live, tests/test_extended_sims.py:test_context_sim_live, tests/test_extended_sims.py:test_execution_sim_live, tests/test_extended_sims.py:test_tools_sim_live, tests/test_external_editor_gui.py:get_vscode_processes, tests/test_external_editor_gui.py:test_vscode_launches_with_diff_view, tests/test_gui_custom_window.py:test_app_window_is_borderless, tests/test_headless_simulation.py:module, tests/test_headless_verification.py:test_headless_verification_error_and_qa_interceptor, tests/test_headless_verification.py:test_headless_verification_full_run, tests/test_mock_gemini_cli.py:run_mock, tests/test_orchestration_logic.py:test_conductor_engine_run, tests/test_parallel_execution.py:test_conductor_engine_pool_integration, tests/test_sim_ai_settings.py:test_ai_settings_simulation_run, tests/test_sim_context.py:test_context_simulation_run, tests/test_sim_execution.py:test_execution_simulation_run, tests/test_sim_tools.py:test_tools_simulation_run] """ print("\n--- Running AI Settings Simulation (Gemini Only) ---") # 1. Verify initial model provider = self.client.get_value("current_provider") model = self.client.get_value("current_model") print(f"[Sim] Initial Provider: {provider}, Model: {model}") assert provider == "gemini_cli", f"Expected gemini_cli, got {provider}" # 2. Switch to another Gemini model other_gemini = "gemini-2.0-flash" print(f"[Sim] Switching to {other_gemini}...") self.client.set_value("current_model", other_gemini) time.sleep(2) # Verify new_model = self.client.get_value("current_model") print(f"[Sim] Updated Model: {new_model}") assert new_model == other_gemini, f"Expected {other_gemini}, got {new_model}" # 3. Switch back to flash-lite target_model = "gemini-2.5-flash-lite" print(f"[Sim] Switching back to {target_model}...") self.client.set_value("current_model", target_model) time.sleep(2) final_model = self.client.get_value("current_model") print(f"[Sim] Final Model: {final_model}") assert final_model == target_model, f"Expected {target_model}, got {final_model}" if __name__ == "__main__": run_sim(AISettingsSimulation)