"""Tests for the media tracking module.""" from __future__ import annotations from ..media import MediaManager, MediaState class TestMediaState: def test_defaults(self) -> None: state = MediaState() assert state.title == "" assert state.artist == "" assert not state.is_playing assert state.is_stopped assert state.playback_percentage == 0.0 def test_playing_state(self) -> None: state = MediaState( title="Test Song", artist="Test Artist", is_playing=True, is_paused=False, is_stopped=False, playback_percentage=45.5, ) assert state.title == "Test Song" assert state.is_playing assert state.playback_percentage == 45.5 class TestMediaManager: def test_init(self) -> None: manager = MediaManager() assert manager._state is not None def test_get_state_returns_dict(self) -> None: manager = MediaManager() state = manager.get_state() assert isinstance(state, dict) assert "title" in state assert "artist" in state assert "is_playing" in state assert "playback_percentage" in state def test_get_state_empty_when_nothing_playing(self) -> None: manager = MediaManager() state = manager.get_state() assert state["title"] == "" assert not state["is_playing"] assert state["is_stopped"]