Refactor media_player test classes (#105630)

pull/106164/head
Erik Montnemery 2023-12-21 08:11:27 +01:00 committed by GitHub
parent 48241771f6
commit 037eb33710
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 80 deletions

View File

@ -13,86 +13,6 @@ from homeassistant.const import (
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
class ExtendedMediaPlayer(mp.MediaPlayerEntity):
"""Media player test class."""
def __init__(self, hass):
"""Initialize the test media player."""
self.hass = hass
self._volume = 0
self._state = STATE_OFF
@property
def state(self):
"""State of the player."""
return self._state
@property
def volume_level(self):
"""Volume level of the media player (0..1)."""
return self._volume
@property
def supported_features(self):
"""Flag media player features that are supported."""
return (
mp.const.MediaPlayerEntityFeature.VOLUME_SET
| mp.const.MediaPlayerEntityFeature.VOLUME_STEP
| mp.const.MediaPlayerEntityFeature.PLAY
| mp.const.MediaPlayerEntityFeature.PAUSE
| mp.const.MediaPlayerEntityFeature.TURN_OFF
| mp.const.MediaPlayerEntityFeature.TURN_ON
)
def set_volume_level(self, volume):
"""Set volume level, range 0..1."""
self._volume = volume
def volume_up(self):
"""Turn volume up for media player."""
if self.volume_level < 1:
self.set_volume_level(min(1, self.volume_level + 0.1))
def volume_down(self):
"""Turn volume down for media player."""
if self.volume_level > 0:
self.set_volume_level(max(0, self.volume_level - 0.1))
def media_play(self):
"""Play the media player."""
self._state = STATE_PLAYING
def media_pause(self):
"""Plause the media player."""
self._state = STATE_PAUSED
def media_play_pause(self):
"""Play or pause the media player."""
if self._state == STATE_PLAYING:
self._state = STATE_PAUSED
else:
self._state = STATE_PLAYING
def turn_on(self):
"""Turn on state."""
self._state = STATE_ON
def turn_off(self):
"""Turn off state."""
self._state = STATE_OFF
def standby(self):
"""Put device in standby."""
self._state = STATE_STANDBY
def toggle(self):
"""Toggle the power on the media player."""
if self._state in [STATE_OFF, STATE_IDLE, STATE_STANDBY]:
self._state = STATE_ON
else:
self._state = STATE_OFF
class SimpleMediaPlayer(mp.MediaPlayerEntity): class SimpleMediaPlayer(mp.MediaPlayerEntity):
"""Media player test class.""" """Media player test class."""
@ -149,6 +69,34 @@ class SimpleMediaPlayer(mp.MediaPlayerEntity):
self._state = STATE_STANDBY self._state = STATE_STANDBY
class ExtendedMediaPlayer(SimpleMediaPlayer):
"""Media player test class."""
def volume_up(self):
"""Turn volume up for media player."""
if self.volume_level < 1:
self.set_volume_level(min(1, self.volume_level + 0.1))
def volume_down(self):
"""Turn volume down for media player."""
if self.volume_level > 0:
self.set_volume_level(max(0, self.volume_level - 0.1))
def media_play_pause(self):
"""Play or pause the media player."""
if self._state == STATE_PLAYING:
self._state = STATE_PAUSED
else:
self._state = STATE_PLAYING
def toggle(self):
"""Toggle the power on the media player."""
if self._state in [STATE_OFF, STATE_IDLE, STATE_STANDBY]:
self._state = STATE_ON
else:
self._state = STATE_OFF
class AttrMediaPlayer(SimpleMediaPlayer): class AttrMediaPlayer(SimpleMediaPlayer):
"""Media player setting properties via _attr_*.""" """Media player setting properties via _attr_*."""