Update sdk/platform-tools to version 26.0.0.
[android_tools.git] / sdk / platform-tools / systrace / catapult / telemetry / telemetry / internal / platform / power_monitor / android_fuelgauge_power_monitor_unittest.py
blob6bce9c3343b923329b9ee9786f3679f7bbf5d31e
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import unittest
7 from telemetry.internal.platform.power_monitor import (
8 android_fuelgauge_power_monitor)
9 from telemetry.internal.platform.power_monitor import pm_mock
12 class FuelGaugePowerMonitorMonitorTest(unittest.TestCase):
14 def testEnergyConsumption(self):
15 fuel_gauge_delta = 100
16 results = (
17 android_fuelgauge_power_monitor.FuelGaugePowerMonitor.ProcessPowerData(
18 4.0, fuel_gauge_delta))
19 self.assertEqual(results['identifier'], 'fuel_gauge')
20 self.assertEqual(
21 results.get('fuel_gauge_energy_consumption_mwh'), 400)
23 def testMonitorCycle(self):
24 battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6])
25 pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery)
26 pm.StartMonitoringPower(None)
27 results = pm.StopMonitoringPower()
28 self.assertEqual(results['identifier'], 'fuel_gauge')
29 self.assertAlmostEqual(results['fuel_gauge_energy_consumption_mwh'], 10)
31 def testDoubleStop(self):
32 battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6])
33 pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery)
34 pm.StartMonitoringPower(None)
35 pm.StopMonitoringPower()
36 with self.assertRaises(AssertionError):
37 pm.StopMonitoringPower()
39 def testDoubleStart(self):
40 battery = pm_mock.MockBattery(None, voltage=5.0, fuelgauge=[5.e6, 3.e6])
41 pm = android_fuelgauge_power_monitor.FuelGaugePowerMonitor(battery)
42 pm.StartMonitoringPower(None)
43 with self.assertRaises(AssertionError):
44 pm.StartMonitoringPower(None)
47 if __name__ == '__main__':
48 unittest.main()