示例#1
0
    def test_find_in_range_altered(self):
        """Test find in range with altered range."""
        mqtt_cover = MqttCover(
            {
                'name': 'cover.test',
                'state_topic': 'state-topic',
                'get_position_topic': None,
                'command_topic': 'command-topic',
                'availability_topic': None,
                'tilt_command_topic': 'tilt-command-topic',
                'tilt_status_topic': 'tilt-status-topic',
                'qos': 0,
                'retain': False,
                'state_open': 'OPEN',
                'state_closed': 'CLOSE',
                'position_open': 180,
                'position_closed': 80,
                'payload_open': 'OPEN',
                'payload_close': 'CLOSE',
                'payload_stop': 'STOP',
                'payload_available': None,
                'payload_not_available': None,
                'optimistic': False,
                'value_template': None,
                'tilt_open_position': 180,
                'tilt_closed_position': 80,
                'tilt_min': 80,
                'tilt_max': 180,
                'tilt_optimistic': False,
                'tilt_invert_state': False,
                'set_position_topic': None,
                'set_position_template': None,
                'unique_id': None,
                'device_config': None,
            }, None)

        assert 120 == mqtt_cover.find_in_range_from_percent(40)
        assert 120 == mqtt_cover.find_in_range_from_percent(40, 'cover')
示例#2
0
    def test_find_percentage_in_range_defaults_inverted(self):
        """Test find percentage in range with default range but inverted."""
        mqtt_cover = MqttCover(
            {
                'name': 'cover.test',
                'state_topic': 'state-topic',
                'get_position_topic': None,
                'command_topic': 'command-topic',
                'availability_topic': None,
                'tilt_command_topic': 'tilt-command-topic',
                'tilt_status_topic': 'tilt-status-topic',
                'qos': 0,
                'retain': False,
                'state_open': 'OPEN',
                'state_closed': 'CLOSE',
                'position_open': 0,
                'position_closed': 100,
                'payload_open': 'OPEN',
                'payload_close': 'CLOSE',
                'payload_stop': 'STOP',
                'payload_available': None,
                'payload_not_available': None,
                'optimistic': False,
                'value_template': None,
                'tilt_open_position': 100,
                'tilt_closed_position': 0,
                'tilt_min': 0,
                'tilt_max': 100,
                'tilt_optimistic': False,
                'tilt_invert_state': True,
                'set_position_topic': None,
                'set_position_template': None,
                'unique_id': None,
                'device_config': None,
            }, None)

        assert 56 == mqtt_cover.find_percentage_in_range(44)
        assert 56 == mqtt_cover.find_percentage_in_range(44, 'cover')