diff options
Diffstat (limited to 'catapult/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor_unittest.py')
-rw-r--r-- | catapult/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor_unittest.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor_unittest.py b/catapult/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor_unittest.py new file mode 100644 index 00000000..6bce9c33 --- /dev/null +++ b/catapult/telemetry/telemetry/internal/platform/power_monitor/android_fuelgauge_power_monitor_unittest.py @@ -0,0 +1,48 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import unittest + +from telemetry.internal.platform.power_monitor import ( + android_fuelgauge_power_monitor) +from telemetry.internal.platform.power_monitor import pm_mock + + +class FuelGaugePowerMonitorMonitorTest(unittest.TestCase): + + def testEnergyConsumption(self): + fuel_gauge_delta = 100 + results = ( + android_fuelgauge_power_monitor.FuelGaugePowerMonitor.ProcessPowerData( + 4.0, fuel_gauge_delta)) + self.assertEqual(results['identifier'], 'fuel_gauge') + self.assertEqual( + results.get('fuel_gauge_energy_consumption_mwh'), 400) + + def testMonitorCycle(self): + battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6]) + pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery) + pm.StartMonitoringPower(None) + results = pm.StopMonitoringPower() + self.assertEqual(results['identifier'], 'fuel_gauge') + self.assertAlmostEqual(results['fuel_gauge_energy_consumption_mwh'], 10) + + def testDoubleStop(self): + battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6]) + pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery) + pm.StartMonitoringPower(None) + pm.StopMonitoringPower() + with self.assertRaises(AssertionError): + pm.StopMonitoringPower() + + def testDoubleStart(self): + battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6]) + pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery) + pm.StartMonitoringPower(None) + with self.assertRaises(AssertionError): + pm.StartMonitoringPower(None) + + +if __name__ == '__main__': + unittest.main() |