def test_is_on(self): """Test is on service call.""" self.assertFalse(fan.is_on(self.hass, FAN_ENTITY_ID)) common.turn_on(self.hass, FAN_ENTITY_ID) self.hass.block_till_done() self.assertTrue(fan.is_on(self.hass, FAN_ENTITY_ID))
def test_set_invalid_direction(self): """Test set invalid direction when fan has valid direction.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's direction to forward common.set_direction(self.hass, _TEST_FAN, DIRECTION_FORWARD) self.hass.block_till_done() # verify assert self.hass.states.get(_DIRECTION_INPUT_SELECT).state == \ DIRECTION_FORWARD self._verify(STATE_ON, None, None, DIRECTION_FORWARD) # Set fan's direction to 'invalid' common.set_direction(self.hass, _TEST_FAN, 'invalid') self.hass.block_till_done() # verify direction is unchanged assert self.hass.states.get(_DIRECTION_INPUT_SELECT).state == \ DIRECTION_FORWARD self._verify(STATE_ON, None, None, DIRECTION_FORWARD)
def test_set_direction(self): """Test set valid direction.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's direction to forward common.set_direction(self.hass, _TEST_FAN, DIRECTION_FORWARD) self.hass.block_till_done() # verify assert self.hass.states.get(_DIRECTION_INPUT_SELECT).state \ == DIRECTION_FORWARD self._verify(STATE_ON, None, None, DIRECTION_FORWARD) # Set fan's direction to reverse common.set_direction(self.hass, _TEST_FAN, DIRECTION_REVERSE) self.hass.block_till_done() # verify assert self.hass.states.get(_DIRECTION_INPUT_SELECT).state \ == DIRECTION_REVERSE self._verify(STATE_ON, None, None, DIRECTION_REVERSE)
def test_turn_off(self): """Test turning off the device.""" self.assertEqual(STATE_OFF, self.get_entity().state) common.turn_on(self.hass, FAN_ENTITY_ID) self.hass.block_till_done() self.assertNotEqual(STATE_OFF, self.get_entity().state) common.turn_off(self.hass, FAN_ENTITY_ID) self.hass.block_till_done() self.assertEqual(STATE_OFF, self.get_entity().state)
def test_turn_off_without_entity_id(self): """Test turning off all fans.""" self.assertEqual(STATE_OFF, self.get_entity().state) common.turn_on(self.hass, FAN_ENTITY_ID) self.hass.block_till_done() self.assertNotEqual(STATE_OFF, self.get_entity().state) common.turn_off(self.hass) self.hass.block_till_done() self.assertEqual(STATE_OFF, self.get_entity().state)
def test_on_with_speed(self): """Test turn on with speed.""" self._register_components() # Turn on fan with high speed common.turn_on(self.hass, _TEST_FAN, SPEED_HIGH) self.hass.block_till_done() # verify assert self.hass.states.get(_STATE_INPUT_BOOLEAN).state == STATE_ON assert self.hass.states.get(_SPEED_INPUT_SELECT).state == SPEED_HIGH self._verify(STATE_ON, SPEED_HIGH, None, None)
def test_turn_on(self): """Test turning on the device.""" self.assertEqual(STATE_OFF, self.get_entity().state) common.turn_on(self.hass, FAN_ENTITY_ID) self.hass.block_till_done() self.assertNotEqual(STATE_OFF, self.get_entity().state) common.turn_on(self.hass, FAN_ENTITY_ID, fan.SPEED_HIGH) self.hass.block_till_done() self.assertEqual(STATE_ON, self.get_entity().state) self.assertEqual(fan.SPEED_HIGH, self.get_entity().attributes[fan.ATTR_SPEED])
def test_set_invalid_direction_from_initial_stage(self): """Test set invalid direction when fan is in initial state.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's direction to 'invalid' common.set_direction(self.hass, _TEST_FAN, 'invalid') self.hass.block_till_done() # verify direction is unchanged assert self.hass.states.get(_DIRECTION_INPUT_SELECT).state == '' self._verify(STATE_ON, None, None, None)
def test_set_invalid_osc_from_initial_state(self): """Test set invalid oscillating when fan is in initial state.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's osc to 'invalid' common.oscillate(self.hass, _TEST_FAN, 'invalid') self.hass.block_till_done() # verify assert self.hass.states.get(_OSC_INPUT).state == '' self._verify(STATE_ON, None, None, None)
def test_set_invalid_speed_from_initial_stage(self): """Test set invalid speed when fan is in initial state.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's speed to 'invalid' common.set_speed(self.hass, _TEST_FAN, 'invalid') self.hass.block_till_done() # verify speed is unchanged assert self.hass.states.get(_SPEED_INPUT_SELECT).state == '' self._verify(STATE_ON, None, None, None)
def test_on_off(self): """Test turn on and turn off.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # verify assert self.hass.states.get(_STATE_INPUT_BOOLEAN).state == STATE_ON self._verify(STATE_ON, None, None, None) # Turn off fan common.turn_off(self.hass, _TEST_FAN) self.hass.block_till_done() # verify assert self.hass.states.get(_STATE_INPUT_BOOLEAN).state == STATE_OFF self._verify(STATE_OFF, None, None, None)
def test_set_speed(self): """Test set valid speed.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's speed to high common.set_speed(self.hass, _TEST_FAN, SPEED_HIGH) self.hass.block_till_done() # verify assert self.hass.states.get(_SPEED_INPUT_SELECT).state == SPEED_HIGH self._verify(STATE_ON, SPEED_HIGH, None, None) # Set fan's speed to medium common.set_speed(self.hass, _TEST_FAN, SPEED_MEDIUM) self.hass.block_till_done() # verify assert self.hass.states.get(_SPEED_INPUT_SELECT).state == SPEED_MEDIUM self._verify(STATE_ON, SPEED_MEDIUM, None, None)
def test_custom_speed_list(self): """Test set custom speed list.""" self._register_components(['1', '2', '3']) # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's speed to '1' common.set_speed(self.hass, _TEST_FAN, '1') self.hass.block_till_done() # verify assert self.hass.states.get(_SPEED_INPUT_SELECT).state == '1' self._verify(STATE_ON, '1', None, None) # Set fan's speed to 'medium' which is invalid common.set_speed(self.hass, _TEST_FAN, SPEED_MEDIUM) self.hass.block_till_done() # verify that speed is unchanged assert self.hass.states.get(_SPEED_INPUT_SELECT).state == '1' self._verify(STATE_ON, '1', None, None)
def test_set_invalid_speed(self): """Test set invalid speed when fan has valid speed.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's speed to high common.set_speed(self.hass, _TEST_FAN, SPEED_HIGH) self.hass.block_till_done() # verify assert self.hass.states.get(_SPEED_INPUT_SELECT).state == SPEED_HIGH self._verify(STATE_ON, SPEED_HIGH, None, None) # Set fan's speed to 'invalid' common.set_speed(self.hass, _TEST_FAN, 'invalid') self.hass.block_till_done() # verify speed is unchanged assert self.hass.states.get(_SPEED_INPUT_SELECT).state == SPEED_HIGH self._verify(STATE_ON, SPEED_HIGH, None, None)
def test_set_invalid_osc(self): """Test set invalid oscillating when fan has valid osc.""" self._register_components() # Turn on fan common.turn_on(self.hass, _TEST_FAN) self.hass.block_till_done() # Set fan's osc to True common.oscillate(self.hass, _TEST_FAN, True) self.hass.block_till_done() # verify assert self.hass.states.get(_OSC_INPUT).state == 'True' self._verify(STATE_ON, None, True, None) # Set fan's osc to False common.oscillate(self.hass, _TEST_FAN, None) self.hass.block_till_done() # verify osc is unchanged assert self.hass.states.get(_OSC_INPUT).state == 'True' self._verify(STATE_ON, None, True, None)