import tkinter as tk from target_simulator.gui.target_list_frame import TargetListFrame from target_simulator.core.models import Target class DummyMaster: def __init__(self): pass def make_target(tid=1): t = Target(tid) t.target_id = tid t.current_range_nm = 10.0 t.current_azimuth_deg = 0.0 t.current_velocity_fps = 0.0 t.current_heading_deg = 0.0 t.current_altitude_ft = 0.0 return t def test_update_and_remove_target(monkeypatch): tf = TargetListFrame(DummyMaster()) t1 = make_target(1) t2 = make_target(2) tf.update_target_list([t1, t2]) assert len(tf.get_targets()) == 2 # Simulate selection removal by setting tree focus to a missing id -> should show warning but not raise monkeypatch.setattr(tf.tree, 'focus', lambda: '') tf._on_remove_click()