Move enum mapper to own file to prevent circular dependency (#90890)
* Move enum_mapper to own file to prevent circular dependency * Add enum mapper test
This commit is contained in:
parent
2fc34e7cce
commit
eb469d6a2f
8 changed files with 93 additions and 67 deletions
42
tests/components/esphome/test_enum_mapper.py
Normal file
42
tests/components/esphome/test_enum_mapper.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
"""Test ESPHome enum mapper."""
|
||||
|
||||
from aioesphomeapi import APIIntEnum
|
||||
|
||||
from homeassistant.backports.enum import StrEnum
|
||||
from homeassistant.components.esphome.enum_mapper import EsphomeEnumMapper
|
||||
|
||||
|
||||
class MockEnum(APIIntEnum):
|
||||
"""Mock enum."""
|
||||
|
||||
ESPHOME_FOO = 1
|
||||
ESPHOME_BAR = 2
|
||||
|
||||
|
||||
class MockStrEnum(StrEnum):
|
||||
"""Mock enum."""
|
||||
|
||||
HA_FOO = "foo"
|
||||
HA_BAR = "bar"
|
||||
|
||||
|
||||
MOCK_MAPPING: EsphomeEnumMapper[MockEnum, MockStrEnum] = EsphomeEnumMapper(
|
||||
{
|
||||
MockEnum.ESPHOME_FOO: MockStrEnum.HA_FOO,
|
||||
MockEnum.ESPHOME_BAR: MockStrEnum.HA_BAR,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
async def test_map_esphome_to_ha() -> None:
|
||||
"""Test mapping from ESPHome to HA."""
|
||||
|
||||
assert MOCK_MAPPING.from_esphome(MockEnum.ESPHOME_FOO) == MockStrEnum.HA_FOO
|
||||
assert MOCK_MAPPING.from_esphome(MockEnum.ESPHOME_BAR) == MockStrEnum.HA_BAR
|
||||
|
||||
|
||||
async def test_map_ha_to_esphome() -> None:
|
||||
"""Test mapping from HA to ESPHome."""
|
||||
|
||||
assert MOCK_MAPPING.from_hass(MockStrEnum.HA_FOO) == MockEnum.ESPHOME_FOO
|
||||
assert MOCK_MAPPING.from_hass(MockStrEnum.HA_BAR) == MockEnum.ESPHOME_BAR
|
Loading…
Add table
Add a link
Reference in a new issue