"""Test Home Assistant icon util methods.""" def test_battery_icon(): """Test icon generator for battery sensor.""" from homeassistant.helpers.icon import icon_for_battery_level assert icon_for_battery_level(None, True) == 'mdi:battery-unknown' assert icon_for_battery_level(None, False) == 'mdi:battery-unknown' assert icon_for_battery_level(5, True) == 'mdi:battery-outline' assert icon_for_battery_level(5, False) == 'mdi:battery-alert' assert icon_for_battery_level(100, True) == 'mdi:battery-charging-100' assert icon_for_battery_level(100, False) == 'mdi:battery' iconbase = 'mdi:battery' for level in range(0, 100, 5): print('Level: %d. icon: %s, charging: %s' % (level, icon_for_battery_level(level, False), icon_for_battery_level(level, True))) if level <= 10: postfix_charging = '-outline' elif level <= 30: postfix_charging = '-charging-20' elif level <= 50: postfix_charging = '-charging-40' elif level <= 70: postfix_charging = '-charging-60' elif level <= 90: postfix_charging = '-charging-80' else: postfix_charging = '-charging-100' if 5 < level < 95: postfix = '-{}'.format(int(round(level / 10 - .01)) * 10) elif level <= 5: postfix = '-alert' else: postfix = '' assert iconbase + postfix == \ icon_for_battery_level(level, False) assert iconbase + postfix_charging == \ icon_for_battery_level(level, True)