i3pystatus/tests/test_battery.py
enkore 08c861d902 Add tests for battery module
Good news: they're passed before the blob of commits in the
last half hours, and they're still passing...
2013-03-08 03:38:57 +01:00

33 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
import unittest
from i3pystatus import battery
def factory(path, format, expected):
def test():
bc = battery.BatteryChecker(path=path, format=format)
bc.run()
print(bc.output["full_text"])
assert bc.output["full_text"] == expected
test.description = path + ":" + format
return test
def basic_test_generator():
cases = [
("test_battery_basic1", "FULL", "0.000", ""),
("test_battery_basic2", "FULL", "0.000", ""),
("test_battery_basic3", "DIS", "15.624", "4h:04m"),
("test_battery_basic4", "DIS", "17.510", "1h:46m"),
("test_battery_basic5", "DIS", "11.453", "4h:52m"),
("test_battery_basic6", "CHR", "30.764", "0h:20m"),
]
for path, status, consumption, remaining in cases:
yield factory(path, "{status}", status)
yield factory(path, "{consumption:.3f}", consumption)
yield factory(path, "{remaining_hm}", remaining)
#suite = unittest.TestLoader().loadTestsFromName(__name__)
#unittest.TextTestRunner(verbosity=2).run(suite)