S1005403_RisCC/tools/debug_reset_call.py

94 lines
2.6 KiB
Python

from target_simulator.simulation.simulation_controller import SimulationController
class DummyComm:
def __init__(self, use_json=False, send_results=None):
self.is_open = True
self._use_json_protocol = use_json
self._send_calls = []
self._send_results = send_results
def send_commands(self, cmds):
self._send_calls.append(cmds)
if callable(self._send_results):
return self._send_results(cmds)
if isinstance(self._send_results, list):
if len(self._send_results) >= len(self._send_calls):
return self._send_results[len(self._send_calls) - 1]
return self._send_results[-1]
return True
def send_scenario(self, scenario):
return True
def router(self):
return None
class DummyCommManager:
def __init__(self, target_comm=None):
self.target_communicator = target_comm
class DummyHub:
def __init__(self, active_sequence=None):
self._seq = list(active_sequence) if active_sequence is not None else []
def has_active_real_targets(self):
if self._seq:
return self._seq.pop(0)
return False
def reset(self):
pass
class DummyScenario:
def __init__(self):
class T:
_total_duration_s = 5.0
self.targets = [T()]
def get_all_targets(self):
return self.targets
def reset_simulation(self):
pass
class DummyMainView:
def __init__(self):
self.is_simulation_running = type("V", (), {"get": lambda s: False})()
self.update_time = type("V", (), {"get": lambda s: 1.0})()
self.time_multiplier = 1.0
self.scenario = DummyScenario()
self.ppi_widget = type("P", (), {"clear_trails": lambda s: None, "clear_previews": lambda s: None})()
self.sim_slider_var = type("V", (), {"get": lambda s: 0.0, "set": lambda s, v: None})()
self.simulation_engine = None
self.current_archive = None
def _update_simulation_progress_display(self):
pass
def _update_button_states(self):
pass
def _refresh_analysis_list(self):
pass
comm = DummyComm(use_json=False, send_results=[True])
cm = DummyCommManager(comm)
hub = DummyHub(active_sequence=[False])
controller = SimulationController(cm, hub, config_manager=None, logger=None)
mv = DummyMainView()
print('Calling _reset_radar_state_no_ui...')
try:
ok = controller._reset_radar_state_no_ui(mv)
print('Returned:', ok)
except Exception as e:
import traceback
traceback.print_exc()
print('Exception type:', type(e))