44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""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)
|