"""Tests for the telemetry module.""" from __future__ import annotations from ..telemetry import SensorReading, TelemetryManager, TelemetryState class TestSensorReading: def test_defaults(self) -> None: reading = SensorReading(name="CPU Temp", value=65.0, unit="C") assert reading.name == "CPU Temp" assert reading.value == 65.0 assert reading.unit == "C" assert reading.category == "" def test_with_category(self) -> None: reading = SensorReading(name="GPU Usage", value=72.0, unit="%", category="GPU") assert reading.category == "GPU" class TestTelemetryState: def test_defaults(self) -> None: state = TelemetryState() assert state.cpu_temp == 0.0 assert state.gpu_temp == 0.0 assert state.sensors == [] def test_with_values(self) -> None: state = TelemetryState( cpu_temp=72.5, gpu_temp=68.0, cpu_usage=45.0, sensors=[ SensorReading(name="CPU", value=72.5, unit="C"), ], ) assert state.cpu_temp == 72.5 assert len(state.sensors) == 1 class TestTelemetryManager: def test_init(self) -> None: manager = TelemetryManager() assert manager._state is not None def test_get_state_returns_dict(self) -> None: manager = TelemetryManager() state = manager.get_state() assert isinstance(state, dict) assert "cpu_temp" in state assert "gpu_temp" in state assert "sensors" in state def test_get_state_empty(self) -> None: manager = TelemetryManager() state = manager.get_state() assert state["cpu_temp"] == 0.0 assert state["sensors"] == []