mirror of
https://github.com/home-assistant/core.git
synced 2026-09-24 15:31:52 -05:00
Merge pull request #7393 from cribbstechnologies/dev
MQTT Cover: Fixed status reporting for range with non-zero base
This commit is contained in:
@@ -4,6 +4,7 @@ import unittest
|
||||
from homeassistant.setup import setup_component
|
||||
from homeassistant.const import STATE_OPEN, STATE_CLOSED, STATE_UNKNOWN
|
||||
import homeassistant.components.cover as cover
|
||||
from homeassistant.components.cover.mqtt import MqttCover
|
||||
|
||||
from tests.common import (
|
||||
get_test_home_assistant, mock_mqtt_component, fire_mqtt_message)
|
||||
@@ -450,3 +451,75 @@ class TestCoverMQTT(unittest.TestCase):
|
||||
|
||||
self.assertEqual(('tilt-command-topic', 25, 0, False),
|
||||
self.mock_publish.mock_calls[-2][1])
|
||||
|
||||
def test_find_percentage_in_range_defaults(self):
|
||||
"""Test find percentage in range with default range."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
100, 0, 0, 100, False, False)
|
||||
|
||||
self.assertEqual(44, mqtt_cover.find_percentage_in_range(44))
|
||||
|
||||
def test_find_percentage_in_range_altered(self):
|
||||
"""Test find percentage in range with altered range."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
180, 80, 80, 180, False, False)
|
||||
|
||||
self.assertEqual(40, mqtt_cover.find_percentage_in_range(120))
|
||||
|
||||
def test_find_percentage_in_range_defaults_inverted(self):
|
||||
"""Test find percentage in range with default range but inverted."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
100, 0, 0, 100, False, True)
|
||||
|
||||
self.assertEqual(56, mqtt_cover.find_percentage_in_range(44))
|
||||
|
||||
def test_find_percentage_in_range_altered_inverted(self):
|
||||
"""Test find percentage in range with altered range and inverted."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
180, 80, 80, 180, False, True)
|
||||
|
||||
self.assertEqual(60, mqtt_cover.find_percentage_in_range(120))
|
||||
|
||||
def test_find_in_range_defaults(self):
|
||||
"""Test find in range with default range."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
100, 0, 0, 100, False, False)
|
||||
|
||||
self.assertEqual(44, mqtt_cover.find_in_range_from_percent(44))
|
||||
|
||||
def test_find_in_range_altered(self):
|
||||
"""Test find in range with altered range."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
180, 80, 80, 180, False, False)
|
||||
|
||||
self.assertEqual(120, mqtt_cover.find_in_range_from_percent(40))
|
||||
|
||||
def test_find_in_range_defaults_inverted(self):
|
||||
"""Test find in range with default range but inverted."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
100, 0, 0, 100, False, True)
|
||||
|
||||
self.assertEqual(44, mqtt_cover.find_in_range_from_percent(56))
|
||||
|
||||
def test_find_in_range_altered_inverted(self):
|
||||
"""Test find in range with altered range and inverted."""
|
||||
mqtt_cover = MqttCover(
|
||||
'cover.test', 'foo', 'bar', 'fooBar', "fooBarBaz", 0, False,
|
||||
'OPEN', 'CLOSE', 'OPEN', 'CLOSE', 'STOP', False, None,
|
||||
180, 80, 80, 180, False, True)
|
||||
|
||||
self.assertEqual(120, mqtt_cover.find_in_range_from_percent(60))
|
||||
|
||||
Reference in New Issue
Block a user