blob: 35fc964ea5ec1548a9786355bd935dc02e3ddbaa [file] [log] [blame]
Javi Merinoe4c1d452014-04-01 17:00:47 +01001#!/usr/bin/python
2
Javi Merinofff33672014-06-18 16:56:34 +01003import pandas as pd
4
Javi Merinoc26e1c72014-04-08 16:39:01 +01005from test_thermal import TestThermalBase
Javi Merino62c56dc2014-05-07 17:41:12 +01006from cr2 import OutPower, InPower
Javi Merinofff33672014-06-18 16:56:34 +01007import power
Javi Merinoe4c1d452014-04-01 17:00:47 +01008
9class TestPower(TestThermalBase):
Javi Merino34f9da12014-06-19 15:48:16 +010010 def __init__(self, *args, **kwargs):
11 super(TestPower, self).__init__(*args, **kwargs)
12 self.map_label = {"000000f0": "A15", "0000000f": "A7"}
13
Javi Merinofff33672014-06-18 16:56:34 +010014 def test_pivot_with_labels(self):
15 """Test pivot_with_labels()"""
16 dfr_in = pd.DataFrame({'cpus': ["000000f0", "0000000f", "000000f0", "0000000f"],
17 'freq': [1, 3, 2, 6]})
Javi Merinofff33672014-06-18 16:56:34 +010018
Javi Merino34f9da12014-06-19 15:48:16 +010019 dfr_out = power.pivot_with_labels(dfr_in, "freq", "cpus", self.map_label)
Javi Merinofff33672014-06-18 16:56:34 +010020
21 self.assertEquals(dfr_out["A15"].iloc[0], 1)
22 self.assertEquals(dfr_out["A15"].iloc[1], 1)
23 self.assertEquals(dfr_out["A15"].iloc[2], 2)
24 self.assertEquals(dfr_out["A7"].iloc[1], 3)
25
Javi Merino2e920b52014-05-07 17:29:36 +010026 def test_outpower_get_dataframe(self):
27 """Test OutPower.get_data_frame()"""
28 df = OutPower().get_data_frame()
Javi Merinoe4c1d452014-04-01 17:00:47 +010029
Javi Merino2b65c0b2014-06-04 18:16:42 +010030 self.assertEquals(df["power"].iloc[0], 5036)
31 print df.columns
Javi Merinoe4c1d452014-04-01 17:00:47 +010032 self.assertTrue("cdev_state" in df.columns)
Javi Merino62c56dc2014-05-07 17:41:12 +010033
Javi Merino73234c12014-06-18 17:27:16 +010034 def test_outpower_get_all_freqs(self):
35 """Test OutPower.get_all_freqs()"""
Javi Merino34f9da12014-06-19 15:48:16 +010036 dfr = OutPower().get_all_freqs(self.map_label)
Javi Merino73234c12014-06-18 17:27:16 +010037
38 self.assertEquals(dfr["A15"].iloc[0], 1900)
39 self.assertEquals(dfr["A7"].iloc[1], 1400)
40
Javi Merino62c56dc2014-05-07 17:41:12 +010041 def test_inpower_get_dataframe(self):
42 """Test InPower.get_data_frame()"""
43 df = InPower().get_data_frame()
44
45 self.assertEquals(df["load0"].iloc[0], 2)
46 self.assertTrue("load0" in df.columns)
Javi Merino8a79fb32014-05-07 17:56:23 +010047
Javi Merino73234c12014-06-18 17:27:16 +010048 def test_inpower_get_all_freqs(self):
49 """Test InPower.get_all_freqs()"""
50 map_label = {1: "A15",
51 0: "A7"}
52 dfr = InPower().get_all_freqs(map_label)
53
54 self.assertEquals(dfr["A15"].iloc[0], 1900)
55 self.assertEquals(dfr["A7"].iloc[1], 500)
56 self.assertEquals(dfr["A15"].iloc[18], 1800)
57
Javi Merino9237a3c2014-06-18 12:18:51 +010058 def test_inpower_get_load_data(self):
59 """Test InPower.get_load_data()"""
60 load_data = InPower().get_load_data({0: "A7", 1: "A15"})
61
62 self.assertEquals(load_data["A15"].iloc[0], 2 + 6 + 0 + 1)
63 self.assertEquals(load_data["A7"].iloc[3], 9 + 7 + 20 + 2)
64 self.assertEquals(load_data["A15"].iloc[0], load_data["A15"].iloc[1])
65
Javi Merino9237a3c2014-06-18 12:18:51 +010066 def test_inpower_plot_load(self):
67 """Test that InPower.plot_load() doesn't explode"""
68 InPower().plot_load({0: "A7", 1: "A15"}, title="Util")