import pytest
import sys
import os
import time

# Ensure project root is in path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))

from performance_monitor import PerformanceMonitor

def test_perf_monitor_basic_timing():
    pm = PerformanceMonitor()
    pm.start_frame()
    time.sleep(0.02) # 20ms
    pm.end_frame()
    
    metrics = pm.get_metrics()
    assert metrics['last_frame_time_ms'] >= 20.0
    pm.stop()

def test_perf_monitor_component_timing():
    pm = PerformanceMonitor()
    pm.start_component("test_comp")
    time.sleep(0.01)
    pm.end_component("test_comp")
    
    metrics = pm.get_metrics()
    assert metrics['time_test_comp_ms'] >= 10.0
    pm.stop()
