Rename BinarySensorDevice to BinarySensorEntity (#34462)
* Rename BinarySensorDevice to BinarySensorEntity * Tweak * Move deprecation warning to __new__, add test * Move deprecation warning back to __init__ * Move deprecation warning to __init_subclass
This commit is contained in:
@@ -1,24 +1,29 @@
|
||||
"""The tests for the Binary sensor component."""
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
from homeassistant.components import binary_sensor
|
||||
from homeassistant.const import STATE_OFF, STATE_ON
|
||||
|
||||
|
||||
class TestBinarySensor(unittest.TestCase):
|
||||
"""Test the binary_sensor base class."""
|
||||
def test_state():
|
||||
"""Test binary sensor state."""
|
||||
sensor = binary_sensor.BinarySensorEntity()
|
||||
assert STATE_OFF == sensor.state
|
||||
with mock.patch(
|
||||
"homeassistant.components.binary_sensor.BinarySensorEntity.is_on", new=False,
|
||||
):
|
||||
assert STATE_OFF == binary_sensor.BinarySensorEntity().state
|
||||
with mock.patch(
|
||||
"homeassistant.components.binary_sensor.BinarySensorEntity.is_on", new=True,
|
||||
):
|
||||
assert STATE_ON == binary_sensor.BinarySensorEntity().state
|
||||
|
||||
def test_state(self):
|
||||
"""Test binary sensor state."""
|
||||
sensor = binary_sensor.BinarySensorDevice()
|
||||
assert STATE_OFF == sensor.state
|
||||
with mock.patch(
|
||||
"homeassistant.components.binary_sensor.BinarySensorDevice.is_on",
|
||||
new=False,
|
||||
):
|
||||
assert STATE_OFF == binary_sensor.BinarySensorDevice().state
|
||||
with mock.patch(
|
||||
"homeassistant.components.binary_sensor.BinarySensorDevice.is_on", new=True,
|
||||
):
|
||||
assert STATE_ON == binary_sensor.BinarySensorDevice().state
|
||||
|
||||
def test_deprecated_base_class(caplog):
|
||||
"""Test deprecated base class."""
|
||||
|
||||
class CustomBinarySensor(binary_sensor.BinarySensorDevice):
|
||||
pass
|
||||
|
||||
CustomBinarySensor()
|
||||
assert "BinarySensorDevice is deprecated, modify CustomBinarySensor" in caplog.text
|
||||
|
||||
Reference in New Issue
Block a user